aboutsummaryrefslogtreecommitdiff
path: root/include/swaybar
AgeCommit message (Collapse)Author
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
2018-04-02Render i3bar blocksDrew DeVault
2018-04-02Demarcate i3bar JSON into individual updatesDrew DeVault
2018-03-30Implement workspace switch on clickDrew DeVault
2018-03-30Implement scroll wheel workspace switchingDrew DeVault
2018-03-30Initialize seat pointer in swaybarDrew DeVault
2018-03-30Fix issues with swaybar on DRMDrew DeVault
2018-03-29Implement status lineDrew DeVault
Does not yet support i3bar json protocol
2018-03-29Pixel-perfect renderingDrew DeVault
2018-03-29Re-render bar on IPC updatesDrew DeVault
2018-03-29Round up workspaces on each outputDrew DeVault
2018-03-29Only utilize the configured outputsDrew DeVault
2018-03-29Wire up basic IPC supportDrew DeVault
2018-03-29Start port of swaybar to layer shellDrew DeVault
This starts up the event loop and wayland display and shims out the basic top level rendering concepts. Also includes some changes to incorporate pango into the 1.x codebase properly.
2017-11-05Fix init_tray function declarationAdam Mizerski
This fixes compilation failure: error: call to function 'init_tray' without a real prototype