aboutsummaryrefslogtreecommitdiff
path: root/include/swaybar
AgeCommit message (Collapse)Author
2019-01-13swaybar: allow identifiers for output and trayBrian Ashworth
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.
2019-01-08swaybar: handle SNI signals betterIan Fan
This fixes a crash caused by callbacks not matching the right sender, and frees old values later, before they are re-assigned.
2018-12-31swaybar: use KDE's SNI IconThemePath propertyIan Fan
2018-12-31swaybar: do not create tray if hiddenIan Fan
2018-12-31swaybar: set bar dirty on SNI eventIan Fan
2018-12-31swaybar: implement mouse events for trayIan Fan
2018-12-31swaybar: implement tray renderingIan Fan
2018-12-31swaybar: implement tray configIan Fan
2018-12-31swaybar: add StatusNotifierItem to trayIan Fan
2018-12-31swaybar: add StatusNotifierHost to trayIan Fan
2018-12-31swaybar: implement icon themes and lookup for trayIan Fan
2018-12-31swaybar: add StatusNotifierWatcher to trayIan Fan
2018-12-31swaybar: add tray interfaceIan Fan
2018-12-31swaybar: remove old tray implementationIan Fan
2018-12-15swaybar: fix cursor scaleBrian Ashworth
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`.
2018-12-04Add relative coordinates in JSON for i3bar click eventsHristo Venev
Compatibility with i3 commit 161db6f17d734ac9deb0a20e81b78d4b2a92ce68.
2018-11-28Implement bar gapsBrian Ashworth
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.
2018-11-17Implement strip_workspace_name.Connor E
2018-10-18swaybar: separate input code to new fileIan Fan
2018-10-15Event loop: Fix memmove and remove extraneous declarationRyan Dwyer
2018-10-15Remove timerfd from loop implementationRyan Dwyer
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.
2018-10-15Move swaybar's event loop to common directory and refactorRyan Dwyer
* 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.
2018-10-14swaybar: send signal to status when hiding or showing barIan Fan
2018-10-14swaybar: show hidden bar on urgencyIan Fan
2018-10-14swaybar: show hidden bar on key eventIan Fan
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.
2018-10-14swaybar: handle mode/hidden_state changesIan Fan
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.
2018-10-14swaybar: move mode & mode_pango_markup to bar structIan Fan
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.
2018-10-14swaybar: add free_hotspots helper functionIan Fan
2018-10-14swaybar: annotate wl_list properties in definitionsIan Fan
2018-10-14swaybar: save id upon startupIan Fan
This adds an id property to the bar, which will be used to filter barconfig_update events
2018-10-09Implement bar bindsymBrian Ashworth
2018-10-02swaybar: add leading comma to click event JSONIan Fan
2018-09-30Turn funcs() into funcs(void)Arkadiusz Hiler
If they really do not take undefined number of arguments.
2018-09-30Remove declarations that do no have definitionsArkadiusz Hiler
There is a couple of leftover header files/declarations, which were fronting implementations that are long gone. Let's get rid of them.
2018-09-30swaybar: synchronize rendering to output framesIan Fan
2018-09-28swaybar: move i3bar definitions into separate fileIan Fan
2018-09-28swaybar: remove unused focused_output propertyIan Fan
2018-09-28swaybar: fail if bar id is invalidIan Fan
2018-09-22swaybar, swaylock, & tree/container: Set cairo font options to render text ↵Geoff Greer
and lines with subpixel hinting (if available).
2018-09-18swaybar: rewrite i3bar protocol handlingIan Fan
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.
2018-09-18swaybar: rewrite text protocol handlingIan Fan
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.
2018-09-18swaybar: fix empty function prototypesIan Fan
2018-09-17swaybar: use output names instead of output indexesemersion
2018-09-12i3bar: count references to blocksIan Fan
This prevents blocks from being destroyed before their hotspots are destroyed, in case it is used for a pending click event that fires between the bar receiving a new status, which destroys the block, and the bar rendering the new status, which destroys the hotspot; this problem can be easily produced by scrolling on a block that immediately causes a new status to be sent, with multiple outputs
2018-07-19swaybar: Fix scroll handling on workspace buttonsminus
As well as ignoring scroll events on status elements when click_events is enabled. Previously, using the scroll wheel on a workspace button would switch to that workspace instead of scrolling through them. Clicks and scrolling on status elements would always be processed by swaybar, too. So in case you were using scrolling as volume control on a status item, swaybar would additionally scroll through your workspaces.
2018-07-16make hotspot callback take an x11 button idPeter Rice
2018-04-24Fix a bunch of swaybar memory leaksemersion
2018-04-05Handle output removal on swaybarDrew DeVault
2018-04-03Add hidpi support to swaybarDrew DeVault
2018-04-02Send click events for i3bar blocksDrew DeVault