i3-compatible Wayland compositor
Find a file
Simon Ser ee4637b086 Deprecate seat idle_wake
Sway has two knobs to control idling:

- seat idle_inhibit: when the seat is active (ie. not idle), this
  extends the active state. When the seat is idle, this is
  ignored.
- seat idle_wake: when the seat is idle, this wakes up the seat.
  When the seat is active, this is ignored.

The motivation for the deprecation is two-fold:

- The concept of "seat idle state" is ill-defined. Each idle-notify-v1
  client will pass a different idle timeout. With the old logic, a
  seat was declared idle if and only if all idle-notify-v1 timeouts have
  expired. However, if only a portion of the timeouts have expired,
  then some clients would wake up, and the rest would stay active.
  This is inconsistent with the definition of idle_inhibit/idle_wake:
  idle_inhibit was used for clients which are waking up.
- It never worked properly with the new idle-notify-v1 protocol
  and no-one noticed. Only the legacy KDE idle protocol is taken
  into account, but that protocol is not used anymore.
2023-07-19 09:28:33 +02:00
.builds ci: add libdisplay-info dependency 2023-02-28 23:19:33 +01:00
.github/ISSUE_TEMPLATE
assets
client Use shm_open instead of mkstemp 2022-11-25 00:05:12 +01:00
common Use format_str() throughout 2023-04-14 18:34:54 +02:00
completions build: move completions to separate file 2022-11-28 18:51:45 -05:00
contrib grimshot: fix tilde expansion within quotes 2022-07-30 09:25:24 +02:00
include input: Move wlr_pointer_gestures_v1 to sway_input_manager 2023-06-26 22:57:46 +02:00
protocols build: drop intermediate libraries for protocols 2022-11-25 10:51:20 +01:00
sway Deprecate seat idle_wake 2023-07-19 09:28:33 +02:00
swaybar swaybar: handle wayland-cursor failures 2023-07-08 09:36:50 +02:00
swaymsg fix typo 2023-02-25 10:50:43 +01:00
swaynag swaynag: handle wayland-cursor failures 2023-07-17 10:01:46 +02:00
.editorconfig
.gitignore
.mailmap Add a .mailmap file 2023-03-26 23:22:30 +02:00
config.in Switch default menu to wmenu 2023-01-30 15:08:16 -05:00
CONTRIBUTING.md
LICENSE
meson.build render: Use wlroots scale filter 2023-06-19 19:14:28 +02:00
meson_options.txt
README.cs.md Fix typo in Czech README translation 2022-11-30 14:43:43 +01:00
README.de.md
README.dk.md
README.es.md
README.fr.md
README.gr.md
README.hi.md Add a Hindi (हिन्दी) translation to the README 2022-05-27 21:09:18 +02:00
README.hu.md
README.ir.md
README.it.md
README.ja.md Improve Japanese translation 2022-10-08 10:12:00 +02:00
README.ko.md
README.md Add Norwegian READMR 2023-02-02 17:45:01 +01:00
README.nl.md
README.no.md Add Norwegian READMR 2023-02-02 17:45:01 +01:00
README.pl.md
README.pt.md
README.ro.md
README.ru.md
README.sv.md
README.tr.md
README.uk.md
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
sway.desktop

sway

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