i3-compatible Wayland compositor
Go to file
Greg Depoire--Ferrer 956b689d6a swaynag: move close_button up to fix SIGSEGV
When swaynag_parse_options encounters '--dismiss-button' (or its
shorthand '-s'), it sets the text of the first button in the
swaynag.buttons list, which is expected to exist and to be the dismiss
button, to the one passed by the user.

Commit 4780afb68b ("swaynag: statically
allocate button_close, and move declaration") moved the list
initialization to after swaynag_parse_options is called which made that
code fail.

For example, the command 'swaynag --dismiss-button Dismiss' crashes and
'swaynag --message Message --button Yes "" --dismiss-button Dismiss'
shows the wrong buttons.

Move it back to before swaynag_parse_options is called.
2022-06-05 19:05:26 +02:00
.builds Replace pcre with pcre2 2022-03-12 14:02:32 +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 cairo: Replace <cairo/cairo.h> by <cairo.h> 2021-05-10 10:28:32 +02:00
common sway: add bindgesture command 2022-05-30 12:20:43 +02:00
completions bash-completion: localize variables 2022-03-27 11:27:57 +02:00
contrib Update grimshot.1.scd 2022-04-23 22:34:11 +02:00
include Refuse to start when SUID is detected 2022-06-03 12:37:40 +02:00
protocols Add support for linux-dmabuf surface hints 2021-12-13 09:59:33 -06:00
sway Refuse to start when SUID is detected 2022-06-03 12:37:40 +02:00
swaybar swaybar: set opaque region 2022-03-14 13:02:17 -04:00
swaymsg swaymsg: add GET_TREE pretty-printing 2021-12-21 11:07:11 +01:00
swaynag swaynag: move close_button up to fix SIGSEGV 2022-06-05 19:05:26 +02: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
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
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 Replace pcre with pcre2 2022-03-12 14:02:32 +01: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
config.in config.in: use swaynag -B instead of -b 2021-10-17 21:30:33 +02:00
meson.build build: link with -pthread 2022-05-30 18:40:26 +02:00
meson_options.txt Add meson options to enable/disable swaybar and swaynag 2021-07-21 18:24:09 +02:00
sway.desktop Update language in sway.desktop & sway(1) 2019-03-10 15:09:52 -04:00

README.md

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