aboutsummaryrefslogtreecommitdiffstats
path: root/include/swaybar
Commit message (Collapse)AuthorAge
* swaybar: prevent signal handler from firing during terminationLibravatar Ian Fan2019-02-18
| | | | This prevents a heap-use-after-free crash when sway terminates.
* Rebase #1636 against current masterLibravatar v44r2019-01-31
|
* Make json-c include respect pkg-config --cflagsLibravatar Jan Beich2019-01-23
| | | | | json-c.pc contains `Cflags: -I${includedir}/json-c`, so `<json-c/json.h>` won't be found unless the parent directory is searched by default.
* bar_cmd_tray_bind: Use mouse button helpersLibravatar Brian Ashworth2019-01-16
| | | | | | | | | | | | | | | | This modifies `bar_cmd_tray_bindsym` to use `get_mouse_bindsym` for parsing mouse buttons. This also introduces `bar_cmd_tray_bindcode`, which will use `get_mouse_bindcode` for parsing mouse buttons. Like with sway bindings, the two commands are encapsulated in a single file to maximize shared code. This also modifies tray bindings to work off of events codes rather than x11 buttons, which allows for any mouse buttons to be used. For `get_bar_config`, `event_code` has been added to the `tray_bindings` section and will include to event code for the button. If the event code can be mapped to a x11 button, `input_code` will still be the x11 button number. Otherwise, `input_code` will be `0`.
* Merge pull request #3344 from RedSoxFan/bar-mouse-bindings-improvedLibravatar Drew DeVault2019-01-13
|\ | | | | Improve mouse button parsing: bar mouse bindings
| * bar_cmd_bind: utilize mouse button helpersLibravatar Brian Ashworth2019-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This modifies `bar_cmd_bindsym` to use `get_mouse_bindsym` for parsing mouse buttons. This also introduces `cmd_bar_bindcode`, which will use `get_mouse_bindcode` for parsing mouse buttons. Like sway bindings, the two commands are encapsulated in a single file with shared code. This also modifies swaybar to operate off of event codes rather than x11 button numbers, which allows for any mouse button to be used. This introduces two new IPC properties: - For `get_bar_config`, `event_code` has been added to the `bindings` section and will include to event code for the button. If the event code can be mapped to a x11 button, `input_code` will still be the x11 button number. Otherwise, `input_code` will be `0`. - Likewise for `click_events`, `event` has been added and will include the event code for the button clicked. If the event code can be mapped to a x11 button, `button` will still be the x11 button number. Otherwise, `button` will be `0`.
* | Merge pull request #3408 from RedSoxFan/bar-paddingLibravatar Drew DeVault2019-01-13
|\ \ | | | | | | swaybar: adjustable status padding
| * | swaybar: add status_edge_padding commandLibravatar Brian Ashworth2019-01-11
| | | | | | | | | | | | | | | This adds the bar subcommand `status_edge_padding <padding>` to set the padding used when the status line is on the right edge of the bar.
| * | swaybar: add status_padding commandLibravatar Brian Ashworth2019-01-11
| |/ | | | | | | | | | | Adds the bar subcommand `status_padding <padding>` which allows setting the padding used for swaybar. If `status_padding` is set to `0`, blocks will be able to take up the full height of the bar.
* / swaybar: allow identifiers for output and trayLibravatar Brian Ashworth2019-01-13
|/ | | | | | | | | | This allows `bar output` and `bar tray_output` to specify an output identifier. Output names should still work as well. This parses the output identifier from the xdg_output description, which wlroots currently sets to `make model serial (name)`. Since this could change in the future, all identifier comparisons are guarded by NULL-checks in case the description cannot be parsed to an identifier.
* swaybar: handle SNI signals betterLibravatar Ian Fan2019-01-08
| | | | | This fixes a crash caused by callbacks not matching the right sender, and frees old values later, before they are re-assigned.
* swaybar: use KDE's SNI IconThemePath propertyLibravatar Ian Fan2018-12-31
|
* swaybar: do not create tray if hiddenLibravatar Ian Fan2018-12-31
|
* swaybar: set bar dirty on SNI eventLibravatar Ian Fan2018-12-31
|
* swaybar: implement mouse events for trayLibravatar Ian Fan2018-12-31
|
* swaybar: implement tray renderingLibravatar Ian Fan2018-12-31
|
* swaybar: implement tray configLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierItem to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierHost to trayLibravatar Ian Fan2018-12-31
|
* swaybar: implement icon themes and lookup for trayLibravatar Ian Fan2018-12-31
|
* swaybar: add StatusNotifierWatcher to trayLibravatar Ian Fan2018-12-31
|
* swaybar: add tray interfaceLibravatar Ian Fan2018-12-31
|
* swaybar: remove old tray implementationLibravatar Ian Fan2018-12-31
|
* swaybar: fix cursor scaleLibravatar Brian Ashworth2018-12-15
| | | | | | | | | | | | This fixes a few issues with swaybar's cursor scaling: 1. The cursor scale is now changed when the output scale changes 2. The cursor scale is no longer bound by the max output scale when swaybar is launched 3. Related to the previous item, the cursor is no longer tiny on low scale outputs after the max output scale has changed This also bumps up `wl_compositor` to version 4 to allow usage of `wl_surface_damage_buffer`.
* Add relative coordinates in JSON for i3bar click eventsLibravatar Hristo Venev2018-12-04
| | | | Compatibility with i3 commit 161db6f17d734ac9deb0a20e81b78d4b2a92ce68.
* Implement bar gapsLibravatar Brian Ashworth2018-11-28
| | | | | | | | | Adds the bar subcommand `gaps <amount>|<horizontal> <vertical>|<top> <right> <bottom> <left>` to set gaps for swaybar. Due to restrictions on margins for a layer_surface, only the sides that are anchored to an edge of the screen can have gaps. Since there is support for per-side outer gaps for workspaces, those should be able to be used instead for the last side.
* Implement strip_workspace_name.Libravatar Connor E2018-11-17
|
* swaybar: separate input code to new fileLibravatar Ian Fan2018-10-18
|
* Event loop: Fix memmove and remove extraneous declarationLibravatar Ryan Dwyer2018-10-15
|
* Remove timerfd from loop implementationLibravatar Ryan Dwyer2018-10-15
| | | | | timerfd doesn't work on the BSDs, so this replaces it with a timespec for the expiry and uses a poll timeout to check the timers when needed.
* Move swaybar's event loop to common directory and refactorLibravatar Ryan Dwyer2018-10-15
| | | | | | | * The loop functions are now prefixed with `loop_`. * It is now easy to add timers to the loop. * Timers are implemented using pollfd and timerfd, rather than manually checking them when any other event happens to arrive.
* swaybar: send signal to status when hiding or showing barLibravatar Ian Fan2018-10-14
|
* swaybar: show hidden bar on urgencyLibravatar Ian Fan2018-10-14
|
* swaybar: show hidden bar on key eventLibravatar Ian Fan2018-10-14
| | | | | | Since wayland does not currently allow swaybar to create global keybinds, this is handled within sway and sent to the bar using a custom event, so as not to pollute existing events, called bar_state_update.
* swaybar: handle mode/hidden_state changesLibravatar Ian Fan2018-10-14
| | | | | | | | | As well as adding the hidden_state property to the bar config struct, this commit handles barconfig_update events when the mode or hidden_state changes, and uses a new function determine_bar_visibility to hide or show the bar as required, using, respectively, destroy_layer_surface, which is also newly added, and add_layer_surface, which has been changed to allow dynamically adding the surface.
* swaybar: move mode & mode_pango_markup to bar structLibravatar Ian Fan2018-10-14
| | | | | | This distinguishes the binding mode from the distinct config mode, as well as removing mode_pango_markup from the config struct where it should not be present.
* swaybar: add free_hotspots helper functionLibravatar Ian Fan2018-10-14
|
* swaybar: annotate wl_list properties in definitionsLibravatar Ian Fan2018-10-14
|
* swaybar: save id upon startupLibravatar Ian Fan2018-10-14
| | | | | This adds an id property to the bar, which will be used to filter barconfig_update events
* Implement bar bindsymLibravatar Brian Ashworth2018-10-09
|
* swaybar: add leading comma to click event JSONLibravatar Ian Fan2018-10-02
|
* Turn funcs() into funcs(void)Libravatar Arkadiusz Hiler2018-09-30
| | | | If they really do not take undefined number of arguments.
* Remove declarations that do no have definitionsLibravatar Arkadiusz Hiler2018-09-30
| | | | | | | There is a couple of leftover header files/declarations, which were fronting implementations that are long gone. Let's get rid of them.
* swaybar: synchronize rendering to output framesLibravatar Ian Fan2018-09-30
|
* swaybar: move i3bar definitions into separate fileLibravatar Ian Fan2018-09-28
|
* swaybar: remove unused focused_output propertyLibravatar Ian Fan2018-09-28
|
* swaybar: fail if bar id is invalidLibravatar Ian Fan2018-09-28
|
* swaybar, swaylock, & tree/container: Set cairo font options to render text ↵Libravatar Geoff Greer2018-09-22
| | | | and lines with subpixel hinting (if available).
* swaybar: rewrite i3bar protocol handlingLibravatar Ian Fan2018-09-18
| | | | | | | | This now correctly handles an incoming json infinite array by shifting most of the heavy listing to the json-c parser, as well as sending multiple statuses at once. It also removes the struct i3bar_protocol_state and moves its members into the status_line struct, allowing the same buffer to be used for both protocols.
* swaybar: rewrite text protocol handlingLibravatar Ian Fan2018-09-18
| | | | | | This now uses getline to correctly handle multiple or long statuses. It also removes the struct text_protocol_state and moves its members into the status_line struct.