mirror of
https://github.com/swaywm/sway.git
synced 2026-04-23 06:46:27 -04:00
After previous commits, swaybar bindsym statements would already accept
the new pseudo button names for swipe gestures. Also, sway itself would
not handle swipes when executed while the pointer was above a bar.
Add the necessary handling for three- and four-finger swipe pointer
gestures in swaybar. Cancel ongoing swipes when the pointer leaves the
bar as to not confuse successive swipes with focus changes inbetween
them. Add the pointer gestures protocol in client and server variants
to the meson build file to make the necessary definitions available.
Bind to the global interface on startup, instantiate a swipe gesture and
add a listener on seat setup as well as destroy it on seat shutdown.
Extend the sway-bar manual page as necessary.
Test-plan:
- add workspace switching to config like so:
bar bar-0 {
swaybar_command swaybar
bindsym release SWIPE_3_LEFT workspace prev_on_output
bindsym release SWIPE_4_RIGHT workspace next_on_output
bindsym --release SWIPE_3_LEFT exec yad --text foo
bindsym --release SWIPE_4_UP exec yad --text bar
}
- start sway and open two workspaces
- position pointer above a bar surface
- switch back and forth using horizontal three- and four-finger swipes,
observing that different finger counts are necessary per direction
- observe that the --release binding for left swipes is ignored because
there is an on-press binding already
- observe that the --release binding for upward swipes is honoured
because there is no on-press binding
- move pointer away from bar surface
- observe that switching by swipe no longer works
Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
|
||
|---|---|---|
| .. | ||
| tray | ||
| bar.h | ||
| config.h | ||
| i3bar.h | ||
| input.h | ||
| ipc.h | ||
| render.h | ||
| status_line.h | ||