Swipe pointer gesture bindings added in an earlier commit would catch swipes indiscriminately, ignoring the number of fingers used. Add the necessary logic to distinguish three- from four-finger swipes. Other finger counts cannot be bound to and are passed through to clients. Continue to trivially map each dimension of a gesture to discrete pseudo button codes considering that we're unlikely to take this much further and would otherwise need to extend struct sway_binding to carry some kind of button-specific internal data. Test plan: - add workspace switching to config like so: bindsym --whole-window SWIPE_3_LEFT workspace prev_on_output bindsym --whole-window SWIPE_4_RIGHT workspace next_on_output - start sway and open two workspaces - switch back and forth using horizontal three- and four-finger swipes, observing that different finger counts are necessary per direction Signed-off-by: Michael Weiser <michael.weiser@gmx.de> |
||
|---|---|---|
| .builds | ||
| .github/ISSUE_TEMPLATE | ||
| assets | ||
| client | ||
| common | ||
| completions | ||
| contrib | ||
| include | ||
| protocols | ||
| sway | ||
| swaybar | ||
| swaymsg | ||
| swaynag | ||
| .clang-format | ||
| .editorconfig | ||
| .gitignore | ||
| config.in | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| README.de.md | ||
| README.dk.md | ||
| README.es.md | ||
| README.fr.md | ||
| README.hu.md | ||
| README.ja.md | ||
| README.ko.md | ||
| README.md | ||
| README.nl.md | ||
| README.pl.md | ||
| README.pt.md | ||
| README.ro.md | ||
| README.ru.md | ||
| README.tr.md | ||
| README.uk.md | ||
| README.zh-CN.md | ||
| README.zh-TW.md | ||
| sway.desktop | ||
sway
English - 日本語 - Français - Українська - Español - Polski - 中文-简体 - Deutsch - Nederlands - Русский - 中文-繁體 - Português - Dansk - 한국어 - Română - Magyar - Türkçe
sway is an i3-compatible Wayland compositor. Read the FAQ. Join the IRC channel (#sway on irc.libera.chat).
Release Signatures
Releases are signed with E88F5E48 and published on GitHub.
Installation
From Packages
Sway is available in many distributions. Try installing the "sway" package for yours.
If you're interested in packaging sway for your distribution, stop by the IRC channel or shoot an email to sir@cmpwn.com for advice.
Compiling from Source
Check out this wiki page if you want to build the HEAD of sway and wlroots for testing or development.
Install dependencies:
- meson *
- wlroots
- wayland
- wayland-protocols *
- pcre
- json-c
- pango
- cairo
- gdk-pixbuf2 (optional: system tray)
- scdoc (optional: man pages) *
- git (optional: version info) *
*Compile-time dep
Run these commands:
meson build/
ninja -C build/
sudo ninja -C build/ install
On systems without logind, you need to suid the sway binary:
sudo chmod a+s /usr/local/bin/sway
Sway will drop root permissions shortly after startup.
Configuration
If you already use i3, then copy your i3 config to ~/.config/sway/config and
it'll work out of the box. Otherwise, copy the sample configuration file to
~/.config/sway/config. It is usually located at /etc/sway/config.
Run man 5 sway for information on the configuration.
Running
Run sway from a TTY. Some display managers may work but are not supported by
sway (gdm is known to work fairly well).