aboutsummaryrefslogtreecommitdiff
path: root/swaybar/bar.c
AgeCommit message (Collapse)Author
2018-10-24Merge pull request #2925 from ianyfan/swaylockDrew DeVault
swaylock: exit early if unable to get input inhibitor
2018-10-23swaybar: absorb bar_init function into bar_setupIan Fan
2018-10-23swaybar: exit on display errorIan Fan
2018-10-23Fix swaybar crash when there's no status_commandRyan Dwyer
2018-10-21swaybar: fix hotplugemersion
2018-10-20swaybar: render with minimum height, nominally text heightIan Fan
2018-10-20Put swaybar in overlay layer when using mode hideRyan Dwyer
This allows the bar to render over fullscreen views.
2018-10-18swaybar: separate input code to new fileIan Fan
2018-10-15Sway clients: Exit gracefully when compositor is unavailableRyan 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: when hiding bar, save old height to be restored upon reshowIan Fan
Previously, when the bar was hidden, the height would be set to 0. This meant that if the bar was empty upon reshow, it would not render since the height was still 0, which made it seem there was a problem. Now, the height is not reset, but the width is, to indicate upon reshow that the layer surface needed reconfiguring.
2018-10-14swaybar: send signal to status when hiding or showing barIan Fan
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: only send initial workspace request if workspace buttons are enabledIan Fan
2018-10-14swaybar: add free_hotspots helper functionIan 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-09bar-bindsym: address ianyfan's commentsBrian Ashworth
2018-10-09Implement bar bindsymBrian Ashworth
2018-10-08swaybar: allow null status_commandRyan Dwyer
Sway sets a default status_command which runs date every second. This patch removes this behaviour so the user can have a NULL status bar if desired. I had to swap swaybar's event_loop_poll and wl_display_flush so that it would map the initial surface.
2018-10-06swaybar: fix binding to wl_pointer multiple timesemersion
2018-09-30swaybar: synchronize rendering to output framesIan Fan
2018-09-28swaybar: move i3bar definitions into separate fileIan 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-20swaybar: don't wl_display_roundtrip on each frameemersion
This was the source of numerous bugs, from hotplug events not being received to segfaults because wl_display_roundtrip was making the bar process unplug events while blocking in an iteration over all outputs.
2018-09-20swaybar: handle hotpluggingemersion
Don't kill and respawn swaybars on hotplug.
2018-09-17swaybar: use output names instead of output indexesemersion
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-16send scroll events to swaybar blocksPeter Rice
2018-07-16make hotspot callback take an x11 button idPeter Rice
2018-07-09Update for swaywm/wlroots#1126emersion
2018-04-24Fix a bunch of swaybar memory leaksemersion
2018-04-24Work around maybe-uninitialized in bar.cAlex Xu (Hello71)
Fixes #1855.
2018-04-22Fix swaybar axis event logicScott Anderson
Uses 'visible' instead of 'focused', since we may scroll on a bar which isn't the focused output. We can't use "next_on_output" or "prev_on_output" to implement this, because it only modify the focused output. So scrolling on an unfocused output will affect the incorrect one. We just use the "workspace name" command instead.
2018-04-21Remove void * castsScott Anderson
They're pointless.
2018-04-21Remove status command event on errorScott Anderson
This prevents very high CPU load when the status command dies, and poll continuously awoken with POLLHUP.
2018-04-10Fix swaybar output config.Ryan Dwyer
2018-04-05Handle output removal on swaybarDrew DeVault
2018-04-03Address review feedbackDrew DeVault
2018-04-03Don't use asserts with side-effectsDrew DeVault
2018-04-03Add hidpi support to swaybarDrew DeVault
2018-04-02Render i3bar blocksDrew 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-29Use render_all_frames from bar_setupDrew DeVault
2018-03-29Fix layer_surface_closedDrew DeVault
2018-03-29Tear down bar when display exitsDrew DeVault