aboutsummaryrefslogtreecommitdiff
path: root/include/swaybar
AgeCommit message (Collapse)AuthorLines
2018-12-31swaybar: use KDE's SNI IconThemePath propertyIan Fan-0/+1
2018-12-31swaybar: do not create tray if hiddenIan Fan-0/+1
2018-12-31swaybar: set bar dirty on SNI eventIan Fan-0/+2
2018-12-31swaybar: implement mouse events for trayIan Fan-0/+2
2018-12-31swaybar: implement tray renderingIan Fan-0/+6
2018-12-31swaybar: implement tray configIan Fan-0/+8
2018-12-31swaybar: add StatusNotifierItem to trayIan Fan-1/+39
2018-12-31swaybar: add StatusNotifierHost to trayIan Fan-0/+21
2018-12-31swaybar: implement icon themes and lookup for trayIan Fan-0/+48
2018-12-31swaybar: add StatusNotifierWatcher to trayIan Fan-0/+22
2018-12-31swaybar: add tray interfaceIan Fan-0/+36
2018-12-31swaybar: remove old tray implementationIan Fan-98/+0
2018-12-15swaybar: fix cursor scaleBrian Ashworth-0/+4
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-2/+4
Compatibility with i3 commit 161db6f17d734ac9deb0a20e81b78d4b2a92ce68.
2018-11-28Implement bar gapsBrian Ashworth-0/+6
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-0/+2
2018-10-18swaybar: separate input code to new fileIan Fan-40/+51
2018-10-15Event loop: Fix memmove and remove extraneous declarationRyan Dwyer-1/+0
2018-10-15Remove timerfd from loop implementationRyan Dwyer-1/+0
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-26/+7
* 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-0/+3
2018-10-14swaybar: show hidden bar on urgencyIan Fan-1/+1
2018-10-14swaybar: show hidden bar on key eventIan Fan-0/+1
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-0/+19
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-1/+2
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-0/+1
2018-10-14swaybar: annotate wl_list properties in definitionsIan Fan-8/+8
2018-10-14swaybar: save id upon startupIan Fan-2/+4
This adds an id property to the bar, which will be used to filter barconfig_update events
2018-10-09Implement bar bindsymBrian Ashworth-0/+9
2018-10-02swaybar: add leading comma to click event JSONIan Fan-0/+1
2018-09-30Turn funcs() into funcs(void)Arkadiusz Hiler-1/+1
If they really do not take undefined number of arguments.
2018-09-30Remove declarations that do no have definitionsArkadiusz Hiler-60/+0
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-3/+3
2018-09-28swaybar: move i3bar definitions into separate fileIan Fan-26/+34
2018-09-28swaybar: remove unused focused_output propertyIan Fan-1/+0
2018-09-28swaybar: fail if bar id is invalidIan Fan-4/+2
2018-09-22swaybar, swaylock, & tree/container: Set cairo font options to render text ↵Geoff Greer-0/+1
and lines with subpixel hinting (if available).
2018-09-18swaybar: rewrite i3bar protocol handlingIan Fan-18/+6
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-6/+2
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-2/+2
2018-09-17swaybar: use output names instead of output indexesemersion-1/+4
2018-09-12i3bar: count references to blocksIan Fan-1/+2
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-2/+7
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-2/+17
2018-04-24Fix a bunch of swaybar memory leaksemersion-1/+4
2018-04-05Handle output removal on swaybarDrew DeVault-0/+1
2018-04-03Add hidpi support to swaybarDrew DeVault-0/+1
2018-04-02Send click events for i3bar blocksDrew DeVault-2/+4
2018-04-02Render i3bar blocksDrew DeVault-4/+4
2018-04-02Demarcate i3bar JSON into individual updatesDrew DeVault-2/+47