Matheus C.andKenny Levinsen 5bc72dee47 main: fix uninitialized nag_gpu on early shutdown
nag_gpu was declared and initialized after the first two goto
shutdown jump points (config load failure, server start failure).
Reaching shutdown: via either path means nag_gpu.client is read
at "if (nag_gpu.client != NULL)" before its initializer ever ran
— an indeterminate value per C11, not guaranteed to be NULL.

This moves the declaration/initialization before
load_main_config, so nag_gpu is always initialized by the time
any goto shutdown path is reached.

Not independently reproduced as an observed crash; the fix
addresses undefined behavior per the C standard regardless of
whether it manifests as a crash on any given stack layout.
2026-07-31 13:47:07 +02:00
2019-12-16 14:35:58 -05:00
2024-02-23 17:43:19 +03:00
2026-07-18 15:04:34 +02:00
2025-11-20 12:31:30 +01:00
2016-07-04 14:12:32 +02:00
2023-03-26 23:22:30 +02:00
2017-01-06 13:45:48 -05:00
2024-05-21 11:44:39 -04:00
2026-03-26 16:30:37 +01:00
2026-05-14 09:08:50 +02:00

sway

English - عربي - Azərbaycanca - Č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: additional image formats for system tray)
  • swaybg (optional: wallpaper)
  • scdoc (optional: man pages) *
  • git (optional: version info) *

* Compile-time dep

Run these commands:

meson setup build/
ninja -C build/
sudo ninja -C build/ install

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 or from a display manager.

S
Description
i3-compatible Wayland compositor
https://swaywm.org Readme MIT
37 MiB
Languages
C 98.4%
Meson 1.2%
Shell 0.4%