i3-compatible Wayland compositor
Find a file
Joan Bruguera 94b69acf0d swaybar: Make hotspots block bar release bindings
The previous commit prioritized hotspots before bar bindings for press events,
which matches i3's behaviour. However, since hotspots don't need to do any
processing on release events, those were not handled, and simply fell through
to `bindsym --release` bar bindings (if any).

This is counter-intuitive, and doesn't match i3's behaviour. Instead in case
a hotspot handles the press event, it should also handle the release event,
doing nothing, but blocking the event from triggering a --release bar binding.

E.g., in Sway, without this commit, this config. shows a text on tray clicks:

    bar {
        # ...
        bindsym --release button1 exec swaynag -m I_got_the_release_event.
    }

But the same configuration in i3 (with i3-nagbar) doesn't show the text.

Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
2022-11-26 10:17:53 +01:00
.builds ci: install hwdata 2022-11-09 10:43:44 +01:00
.github/ISSUE_TEMPLATE
assets
client Use shm_open instead of mkstemp 2022-11-25 00:05:12 +01:00
common Reuse parsed PangoFontDescription 2022-07-01 13:05:58 +02:00
completions bash-completion: localize variables 2022-03-27 11:27:57 +02:00
contrib grimshot: fix tilde expansion within quotes 2022-07-30 09:25:24 +02:00
include swaybar: Make hotspots block bar release bindings 2022-11-26 10:17:53 +01:00
protocols build: drop intermediate libraries for protocols 2022-11-25 10:51:20 +01:00
sway launcher: export X startup ids and use them for workspace matching 2022-11-26 09:48:58 +01:00
swaybar swaybar: Make hotspots block bar release bindings 2022-11-26 10:17:53 +01:00
swaymsg swaymsg: show mode picture aspect ratio 2022-10-03 13:35:52 +02:00
swaynag build: drop intermediate libraries for protocols 2022-11-25 10:51:20 +01:00
.editorconfig
.gitignore
config.in config.in: switch to output power 2022-07-04 21:58:24 +03:00
CONTRIBUTING.md
LICENSE
meson.build build: bump wlroots dependency to 0.17.0 2022-11-11 22:31:18 +01:00
meson_options.txt
README.de.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.dk.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.es.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.fr.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.gr.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.hi.md Add a Hindi (हिन्दी) translation to the README 2022-05-27 21:09:18 +02:00
README.hu.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.ir.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.it.md
README.ja.md Improve Japanese translation 2022-10-08 10:12:00 +02:00
README.ko.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.md Add a Hindi (हिन्दी) translation to the README 2022-05-27 21:09:18 +02:00
README.nl.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.pl.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.pt.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.ro.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.ru.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.sv.md Add Swedish README 2022-04-18 18:51:45 +02:00
README.tr.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.uk.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
README.zh-CN.md Polish the language in README.zh-CN.md & sync with English one 2022-05-24 07:40:47 +02:00
README.zh-TW.md Replace pcre with pcre2 2022-03-12 14:02:32 +01:00
sway.desktop

sway

English - Deutsch - Dansk - Español - Français - Svenska - Ελληνικά - हिन्दी - Magyar - فارسی - Italiano - 日本語 - 한국어 - Nederlands - Polski - Português - Română - Русский - 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.

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 *
  • pcre2
  • 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 nor seatd, 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).