i3-compatible Wayland compositor
Go to file
Joan Bruguera b92af7e3ca swaybar: Prioritize hotspot events to bar bindings
This is consistent with i3bar's behaviour, and for example, allows binding a
command to button1, while still being able to click on tray icons or other
zones on the bar's status line which may have their own bindings.

E.g., in Sway, without this commit, this config. makes tray icons unclickable:

    bar {
        # ...
        bindsym button1 exec swaynag -m You_clicked_the_tray._Want_some_help?
    }

But the same configuration in i3 (with i3-nagbar) keeps tray items clickable.

Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
(cherry picked from commit 53f9dbd424)
2022-11-26 10:29:59 +01:00
.builds ci: checkout wlroots 0.16.0 2022-11-11 22:30:10 +01:00
.github/ISSUE_TEMPLATE github: don't truncate debug logs 2021-10-17 21:28:51 +02:00
assets License wallpapers as CC-0 2019-12-16 14:35:58 -05:00
client Use shm_open instead of mkstemp 2022-11-26 10:29:58 +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 launcher: export X startup ids and use them for workspace matching 2022-11-26 10:29:59 +01:00
protocols build: drop intermediate libraries for protocols 2022-11-26 10:29:58 +01:00
sway launcher: export X startup ids and use them for workspace matching 2022-11-26 10:29:59 +01:00
swaybar swaybar: Prioritize hotspot events to bar bindings 2022-11-26 10:29:59 +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-26 10:29:58 +01:00
.editorconfig Create .editorconfig 2016-07-04 14:12:32 +02:00
.gitignore Allocate minimum size necessary in pango text functions. (#3473) 2019-01-20 15:03:30 +01:00
config.in config.in: switch to output power 2022-07-04 21:58:24 +03:00
CONTRIBUTING.md Fix IRC links in READMEs and templates 2021-05-26 08:25:13 +02:00
LICENSE MIT license 2017-01-06 13:45:48 -05:00
meson_options.txt Add meson options to enable/disable swaybar and swaynag 2021-07-21 18:24:09 +02:00
meson.build Use wl_signal_emit_mutable() 2022-11-10 22:27:38 +03:00
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 Translated README into Italian 2022-02-07 10:55:55 +01:00
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 Update language in sway.desktop & sway(1) 2019-03-10 15:09:52 -04:00

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).