i3-compatible Wayland compositor
Find a file
Johan Bjäreholt 1f8dbb320a tree/view: Make foreign-toplevel app_id fallback to class
It is not a part of the foreign-toplevel-management protocol to get the
class of a toplevel, only for getting the app_id.
For xwayland clients this is an issue because that means that you cannot
identify what application the toplevel refers to which is the point of
the app_id property.

By falling back to class when an app_id does not exist solves this problem.

Phoc also uses app_id and class interchangeably in their implementation
of foreign-toplevel-management, in fact they always do that and not only
for just this protocol.
c8d8a4c544/src/xwayland.c (L236)
2020-07-01 17:21:57 +02:00
.builds ci: remove epoll-shim hardcoded pkg-config file 2020-04-08 16:37:00 +02:00
.github Update .github/FUNDING.yml 2019-10-11 19:36:58 -04:00
assets License wallpapers as CC-0 2019-12-16 14:35:58 -05:00
client Rename symbol set_cloexec to sway_set_cloexec, remove duplicates. 2019-11-01 12:41:08 -04:00
common common/util: fix get_current_time_msec returning microseconds 2020-06-06 13:38:41 +02:00
completions i3-compat: add GET_BINDING_STATE IPC command 2020-06-14 00:55:14 -04:00
contrib grimshot: fix POSIX compliance 2020-06-17 22:33:10 +02:00
include seat: Refocus seat when wlr_drag is destroyed 2020-06-30 13:27:51 +02:00
protocols Add support for wlr-output-power-management-unstable-v1 2020-02-26 16:26:13 +01:00
sway tree/view: Make foreign-toplevel app_id fallback to class 2020-07-01 17:21:57 +02:00
swaybar swaybar: ensure correct init order for status_line 2020-06-12 14:45:40 +02:00
swaymsg i3-compat: add GET_BINDING_STATE IPC command 2020-06-14 00:55:14 -04:00
swaynag swaynag: sway_abort on failure to properly register 2020-06-10 15:50:31 +02:00
.clang-format
.editorconfig
.gitignore
config.in Docs: explain why menu command should be passed to sway 2020-01-13 21:36:08 -05:00
CONTRIBUTING.md
ISSUE_TEMPLATE.md ISSUE_TEMPLATE: note debug logs should be from TTY 2020-04-29 08:33:20 +02:00
LICENSE
meson.build Update version to 1.5-rc1 2020-06-24 19:29:13 +02:00
meson_options.txt
README.de.md
README.dk.md add danish README 2020-01-27 11:31:41 -07:00
README.es.md
README.fr.md
README.ja.md
README.ko.md Add Korean README.md 2020-05-01 11:45:11 +02:00
README.md Add Romanian translation 2020-06-23 22:59:27 +02:00
README.nl.md
README.pl.md
README.pt.md fix typo 2020-02-04 19:02:27 +01:00
README.ro.md Add Romanian translation 2020-06-23 22:59:27 +02:00
README.ru.md Add Russian translation of the README 2019-09-09 19:09:57 +03:00
README.uk.md
README.zh-CN.md
README.zh-TW.md Add Chinese (zh-TW) translation of README 2019-12-30 09:45:06 +01:00
sway.desktop

sway

English - 日本語 - Français - Українська - Español - Polski - 中文-简体 - Deutsch - Nederlands - Русский- 中文-繁體 - Português - Danish - 한국어 - Română

sway is an i3-compatible Wayland compositor. Read the FAQ. Join the IRC channel (#sway on irc.freenode.net).

If you'd like to support sway development, please contribute to SirCmpwn's Patreon page.

Release Signatures

Releases are signed with B22DA89A and published on GitHub.

Installation

From Packages

Sway is available in many distributions. Try installing the "sway" package for yours. If it's not available, check out this wiki page for information on installation for your distributions.

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

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