aboutsummaryrefslogtreecommitdiff
path: root/swaybar/bar.c
AgeCommit message (Collapse)AuthorLines
2018-09-24swaybar: fail if bar id is invalidFurkan Sahin-2/+5
2018-09-20swaybar, swaylock, & tree/container: Set cairo font options to render text ↵Furkan Sahin-2/+6
and lines with subpixel hinting (if available).
2018-09-20swaybar: don't wl_display_roundtrip on each frameFurkan Sahin-0/+1
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-19swaybar: handle hotpluggingFurkan Sahin-41/+70
Don't kill and respawn swaybars on hotplug.
2018-09-17swaybar: use output names instead of output indexesFurkan Sahin-29/+74
2018-07-19swaybar: Fix scroll handling on workspace buttonsFurkan Sahin-5/+9
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-15send scroll events to swaybar blocksFurkan Sahin-0/+15
2018-07-15make hotspot callback take an x11 button idFurkan Sahin-1/+1
2018-07-09Update for swaywm/wlroots#1126Furkan Sahin-1/+1
2018-04-24Fix a bunch of swaybar memory leaksFurkan Sahin-10/+11
2018-04-24Work around maybe-uninitialized in bar.cFurkan Sahin-1/+3
Fixes #1855.
2018-04-22Fix swaybar axis event logicFurkan Sahin-18/+43
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 * castsFurkan Sahin-6/+6
They're pointless.
2018-04-21Remove status command event on errorFurkan Sahin-1/+5
This prevents very high CPU load when the status command dies, and poll continuously awoken with POLLHUP.
2018-04-10Fix swaybar output config.Furkan Sahin-28/+42
2018-04-05Handle output removal on swaybarFurkan Sahin-4/+38
2018-04-03Address review feedbackFurkan Sahin-1/+1
2018-04-03Don't use asserts with side-effectsFurkan Sahin-9/+11
2018-04-03Add hidpi support to swaybarFurkan Sahin-10/+63
2018-03-31Render i3bar blocksFurkan Sahin-2/+2
2018-03-30Implement workspace switch on clickFurkan Sahin-10/+24
2018-03-30Implement scroll wheel workspace switchingFurkan Sahin-4/+40
2018-03-30Initialize seat pointer in swaybarFurkan Sahin-0/+105
2018-03-29Use render_all_frames from bar_setupFurkan Sahin-10/+8
2018-03-29Fix layer_surface_closedFurkan Sahin-1/+1
2018-03-29Tear down bar when display exitsFurkan Sahin-1/+2
2018-03-29Clean up status line on exitFurkan Sahin-0/+5
2018-03-29Implement status lineFurkan Sahin-4/+22
Does not yet support i3bar json protocol
2018-03-29Re-render bar on IPC updatesFurkan Sahin-1/+7
2018-03-29Round up workspaces on each outputFurkan Sahin-2/+7
2018-03-29Only utilize the configured outputsFurkan Sahin-12/+20
2018-03-28Wire up basic IPC supportFurkan Sahin-0/+11
2018-03-28Start port of swaybar to layer shellFurkan Sahin-344/+100
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-10-15Fix include path to input-event-codes.h for FreeBSD.Furkan Sahin-0/+4
2017-09-23swaybar protocol: handle button 4 and 5Furkan Sahin-0/+19
i3 bar handles scroll events as button 4 and 5. An example use case would be volume up/down.
2017-08-29styling fixesFurkan Sahin-9/+9
2017-08-29click_events as documented at https://i3wm.org/docs/i3bar-protocol.htmlFurkan Sahin-8/+44
2017-06-29Revert "swaybar: Group child processes for signalling"Furkan Sahin-2/+1
This reverts commit 144b794cf4232d9c7940551702bf43fd2d3b7d04.
2017-06-14Merge branch 'master' into trayFurkan Sahin-1/+2
2017-06-13Remove Xembed SupportFurkan Sahin-5/+0
Xembed support is premature in sway and should be postponed. This commit only removes swaybar starting xembedsniproxy, if users would like, they can still start xembedsniproxy manually, however there will be no official support.
2017-06-12swaybar: Group child processes for signallingFurkan Sahin-1/+2
Fixes child proccess killing, when status_command is a complex command like "i3status | wrapper.sh". Set the process group id of the child process by calling `setpgid` after forking and before calling `exec`. The process group ID will be set to the process ID of the forked process. Processes spawned by this child process will also have this group ID. Send signals to the process group with `killpg`. This will send the signal to all of the process group.
2017-06-07Reorganize Tray CodeFurkan Sahin-53/+7
Remove tray code from bar.c and render.c
2017-06-07Implement Tray IconsFurkan Sahin-34/+101
This commit implements the StatusNotifierItem protocol, and enables swaybar to show tray icons. It also uses `xembedsniproxy` in order to communicate with xembed applications. The tray is completely optional, and can be disabled on compile time with the `enable-tray` option. Or on runtime with the bar config option `tray_output none`. Overview of changes: In swaybar very little is changed outside the tray subfolder except that all events are now polled in `event_loop.c`, this creates no functional difference. Six bar configuration options were added, these are detailed in sway-bar(5) The tray subfolder is where all protocol implementation takes place and is organised as follows: tray/sni_watcher.c: This file contains the StatusNotifierWatcher. It keeps track of items and hosts and reports when they come or go. tray/tray.c This file contains the StatusNotifierHost. It keeps track of sway's version of the items and represents the tray itself. tray/sni.c This file contains the StatusNotifierItem struct and all communication with individual items. tray/icon.c This file implements the icon theme protocol. It allows for finding icons by name, rather than by pixmap. tray/dbus.c This file allows for asynchronous DBus communication. See #986 #343
2017-03-10UnGNUify the codebaseFurkan Sahin-0/+2
2016-09-05Add client support for HiDPIFurkan Sahin-3/+6
This adds HiDPI support to swaybar, swaybg, and swaylock.
2016-09-05Initial testing on hidpi clientsFurkan Sahin-1/+1
2016-09-01Reorganize includesFurkan Sahin-6/+5
2016-07-18Fix a warningFurkan Sahin-1/+1
2016-07-17Implement configurable wrapping on bar ws scrollFurkan Sahin-0/+31
2016-07-16Fix #753Furkan Sahin-2/+6