aboutsummaryrefslogtreecommitdiffstats
path: root/swaybar/bar.c
Commit message (Collapse)AuthorAge
* swaybar: log Wayland display errorsLibravatar Simon Ser2021-07-26
|
* swaybar: exit cleanly when disconnected from IPCLibravatar Simon Ser2021-07-26
|
* Make Wayland request listeners static const when possibleLibravatar Manuel Stoeckl2021-02-04
|
* swaybar: ensure correct init order for status_lineLibravatar Luke Drummond2020-06-12
| | | | | | | | | | | | | `$WAYLAND_SOCKET` is unset by `wl_display_connect` after it has successfully connected to the wayland socket. However, subprocesses spawned by swaybar (status-command) don't have access to waybar's fds as $WAYLAND_SOCKET is O_CLOEXEC. This means any status command which itself tries to connect to wayland will fail if this environment variable is set. Reorder display and status-command initialization so that this variable is not set and add an assert so we can enforce this invariant in future.
* swaybar: Fix scrolling with precise trackpadsLibravatar Martin Dørum2020-04-28
|
* swaybar: complete barconfig_update event handlingLibravatar Brian Ashworth2019-09-04
| | | | | | | | This adds complete support for the barconfig_update ipc event. This also changes the bar command and subcommand handlers to correctly emit the event. This makes it so all bar subcommands other than id and swaybar_command are dynamically changeable at runtime. sway-bar.5 has been updated accordingly
* swaybar: add multiseat supportLibravatar Brian Ashworth2019-04-24
| | | | This just adds multiseat support to swaybar
* swaybar: hide mode visibility improvementsLibravatar Brian Ashworth2019-04-24
| | | | | | | | | | | | This allows swaybar to become visible when the mode changes (to any mode other than the default). swaybar will be hidden again when the modifier is pressed and released or when switching back to the default mode. This also applies the same logic to visible by urgency to hide swaybar when the modifier is pressed and released. These changes are to match i3's behavior.
* swaybar: add overlay mode (fix #1620)Libravatar Milkey Mouse2019-02-24
| | | | | Overlay mode puts the bar above normal windows and passes through/ignores any touch/mouse/keyboard events that would be sent to it.
* swaybar: prevent signal handler from firing during terminationLibravatar Ian Fan2019-02-15
| | | | This prevents a heap-use-after-free crash when sway terminates.
* Replace wlr_log with sway_logLibravatar M Stoeckl2019-01-21
| | | | | | | | | | | | | This commit mostly duplicates the wlr_log functions, although with a sway_* prefix. (This is very similar to PR #2009.) However, the logging function no longer needs to be replaceable, so sway_log_init's second argument is used to set the exit callback for sway_abort. wlr_log_init is still invoked in sway/main.c This commit makes it easier to remove the wlroots dependency for the helper programs swaymsg, swaybg, swaybar, and swaynag.
* 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: 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 configLibravatar Ian Fan2018-12-31
|
* swaybar: add tray interfaceLibravatar 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`.
* Replace _XOPEN_SOURCE with _POSIX_C_SOURCELibravatar emersion2018-11-25
| | | | And make sure we don't define both in the same source file.
* Implement strip_workspace_name.Libravatar Connor E2018-11-17
|
* Merge pull request #2925 from ianyfan/swaylockLibravatar Drew DeVault2018-10-24
|\ | | | | swaylock: exit early if unable to get input inhibitor
| * swaybar: exit on display errorLibravatar Ian Fan2018-10-23
| |
* | swaybar: absorb bar_init function into bar_setupLibravatar Ian Fan2018-10-23
|/
* Fix swaybar crash when there's no status_commandLibravatar Ryan Dwyer2018-10-23
|
* swaybar: fix hotplugLibravatar emersion2018-10-21
|
* swaybar: render with minimum height, nominally text heightLibravatar Ian Fan2018-10-20
|
* Put swaybar in overlay layer when using mode hideLibravatar Ryan Dwyer2018-10-20
| | | | This allows the bar to render over fullscreen views.
* swaybar: separate input code to new fileLibravatar Ian Fan2018-10-18
|
* Sway clients: Exit gracefully when compositor is unavailableLibravatar 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: when hiding bar, save old height to be restored upon reshowLibravatar Ian Fan2018-10-14
| | | | | | | | 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.
* swaybar: send signal to status when hiding or showing barLibravatar Ian Fan2018-10-14
|
* 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: only send initial workspace request if workspace buttons are enabledLibravatar Ian Fan2018-10-14
|
* swaybar: add free_hotspots helper functionLibravatar 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
* bar-bindsym: address ianyfan's commentsLibravatar Brian Ashworth2018-10-09
|
* Implement bar bindsymLibravatar Brian Ashworth2018-10-09
|
* swaybar: allow null status_commandLibravatar Ryan Dwyer2018-10-08
| | | | | | | | | 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.
* swaybar: fix binding to wl_pointer multiple timesLibravatar emersion2018-10-06
|
* swaybar: synchronize rendering to output framesLibravatar Ian Fan2018-09-30
|
* swaybar: move i3bar definitions into separate fileLibravatar 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: don't wl_display_roundtrip on each frameLibravatar emersion2018-09-20
| | | | | | | 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.
* swaybar: handle hotpluggingLibravatar emersion2018-09-20
| | | | Don't kill and respawn swaybars on hotplug.
* swaybar: use output names instead of output indexesLibravatar emersion2018-09-17
|
* swaybar: Fix scroll handling on workspace buttonsLibravatar minus2018-07-19
| | | | | | | | | | 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.