Sway (window manager)

Last updated
Sway
Original author(s) Drew DeVault (SirCmpwn)
Initial releaseMarch 24, 2016;8 years ago (2016-03-24) [1]
Stable release
1.10 / October 27, 2024;49 days ago (2024-10-27)
Repository
Written in C
Operating system Unix-like
Size 5.3 MiB
Type Window manager
License MIT License
Website swaywm.org

Sway is a tiling window manager and Wayland compositor, inspired by i3, and written in C. [2] Sway is designed as a drop-in replacement for i3 using the more modern Wayland display server protocol and wlroots compositor library. [3] Sway works with existing i3 configuration files and supports most of i3's features while providing several new features of its own. [4]

Contents

Sway's default controls for manipulating windows are similar to vi. Window focus is controlled by a combination of the Super key and one of the arrow keys or h, j, k, and l. Window movement is performed by the same combination of keys with the addition of the shift key.

Like i3, Sway can be extended and manipulated using its Unix domain socket and JSON-based IPC interface from many programming languages. [5]

Sway's first stable release was on March 11, 2019, after 3.6 years of development. [6]

Features

Sway replicates several of i3's features:

Sway also provides several unique features:

Related Research Articles

<span class="mw-page-title-main">X window manager</span> Type of window manager

An X window manager is a window manager that runs on top of the X Window System, a windowing system mainly used on Unix-like systems.

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

<span class="mw-page-title-main">Fluxbox</span> Open source window manager for the X11 system

Fluxbox is a stacking window manager for the X Window System, which started as a fork of Blackbox 0.61.1 in 2001, with the same aim to be lightweight. Its user interface has only a taskbar, a pop-up menu accessible by right-clicking on the desktop, and minimal support for graphical icons. All basic configurations are controlled by text files, including the construction of menus and the mapping of key-bindings. Fluxbox has high compliance to the Extended Window Manager Hints specification.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

<span class="mw-page-title-main">Window manager</span> Type of system software

A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard—and are often written and created using a widget toolkit.

<span class="mw-page-title-main">Tiling window manager</span> Window manager with non-overlapping frames

In computing, a tiling window manager is a window manager with the organization of the screen often dependant on mathematical formulas to organise the windows into a non-overlapping frame. This is opposed to the more common approach used by stacking window managers, which allow the user to drag windows around, instead of windows snapping into a position. This allows for a different style of organization, although it strays from the traditional desktop metaphor.

<span class="mw-page-title-main">Compiz</span> Compositing window manager for the X Window System

Compiz is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as loadable plugins. Because it conforms to the ICCCM conventions, Compiz can be used as a substitute for the default Mutter or Metacity, when using GNOME Panel, or KWin in KDE Plasma Workspaces. Internally Compiz uses the OpenGL library as the interface to the graphics hardware.

A compositing manager, or compositor, is software that provides applications with an off-screen buffer for each window. The compositing manager composites the window buffers into an image representing the screen and writes the result into the display memory.

dwm Dynamic window manager for X Window System

dwm is a minimalist dynamic window manager for the X Window System developed by Suckless that has influenced the development of several other X window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C for performance and lacks any configuration interface besides editing the source code. One of the project's guidelines is that the source code is intended never to exceed 2000 SLOC, and options meant to be user-configurable are all contained in a single header file.

<span class="mw-page-title-main">LXDE</span> Lightweight desktop environment for Linux and BSD

LXDE was a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netbooks or system on a chip computers.

xmonad Dynamic window manager for X Window System

xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell.

This article compares variety of different X window managers. For an introduction to the topic, see X Window System.

In computing, a dynamic window manager is a tiling window manager where windows are tiled based on preset layouts between which the user can switch. Layouts typically have a main area and a secondary area. The main area usually shows one window, but one can also change the number of windows in this area. Its purpose is to reserve more space for the more important window(s). The secondary area shows the other windows.

<span class="mw-page-title-main">Wayland (protocol)</span> Display system intended to replace X11

Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a Wayland compositor, because it additionally performs the task of a compositing window manager.

awesome (window manager) Window manager for X Window System

awesome is a dynamic window manager for the X Window System developed in the C and Lua programming languages. Lua is also used for configuring and extending the window manager. Its development began as a fork of dwm, though has differed considerably since. It aims to be extremely small and fast, yet extensively customizable. It makes it possible for the user to manage windows with the use of keyboard.

i3 (window manager) Unix window manager software

i3 is a tiling window manager designed for X11, inspired by wmii and written in C. It supports tiling, stacking, and tabbing layouts, which are handled manually. Its configuration is achieved via a plain text file and extending i3 is possible using its Unix domain socket and JSON based IPC interface from many programming languages.

<span class="mw-page-title-main">KDE Plasma 5</span> 2014 graphical desktop for Linux and FreeBSD

KDE Plasma 5 is the fifth generation of the KDE Plasma graphical workspaces environment, created by KDE primarily for Linux systems. KDE Plasma 5 is the successor of KDE Plasma 4 and was first released on 15 July 2014. It was succeeded by KDE Plasma 6 on 28 February 2024.

Client-side decoration (CSD) is the concept of allowing a graphical application software to be responsible for drawing its own window decorations, historically the responsibility of the window manager.

<span class="mw-page-title-main">EndeavourOS</span> Linux distribution based on Arch Linux

EndeavourOS is a Linux distribution based on Arch Linux. EndeavourOS uses the same rolling release schedule as Arch Linux, but periodically does "releases" where updated installation media are provided. As of September 26, 2024, the most recent release is "Endeavour Neo".

Pop!_OS Linux distribution developed by System76

Pop OS is a free and open-source Linux distribution, based on Ubuntu, and featuring a customized GNOME desktop environment known as COSMIC. The distribution is developed by American Linux computer manufacturer System76. Pop!_OS is primarily built to be bundled with the computers built by System76, but can also be downloaded and installed on most computers.

References

  1. Sway Initial Release, Sway, 2019-08-09, retrieved 2019-08-09
  2. "State of Sway - December 2015". Drew DeVault’s Blog. 2015-12-20. Archived from the original on 2019-04-24. Retrieved 2019-08-09.
  3. "Wlroots Is A New, Modular Wayland Compositor Library - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
  4. "Linux Hardware Reviews, Open-Source Benchmarks & Linux Performance - Phoronix". www.phoronix.com. Retrieved 2019-08-09.
  5. 1 2 Sway - FLOSS Weekly 501, 10 October 2018, retrieved 2019-08-09
  6. "Announcing the release of sway 1.0". Drew DeVault’s Blog. 2019-03-11. Retrieved 2019-08-09.
  7. "Sway - A Tiling Wayland i3-Compatible Compositor". FOSSMint: Everything About Linux and FOSS. 2019-03-20. Retrieved 2019-08-09.
  8. "Sway: A Tiling Window Manager Specially Crafted for Wayland". itsfoss.com. 27 March 2019. Retrieved 2019-08-09.
  9. Differences from i3, Sway, 2019-08-09, retrieved 2019-08-09