tiling window manager
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 stac ...
designed for
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
, inspired by
wmii
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 stac ...
and written in C. i3 - An Improved Tiling Window Manager /ref> 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
A Unix domain socket (UDS), a.k.a. local socket, a.k.a. inter-process communication (IPC) socket, is a communication endpoint for exchanging data between processes executing in the same Unix or Unix-like operating system.
The name, ''Unix domain ...
and
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
based IPC interface from many programming languages.
Like wmii, i3 uses a control system very similar to that of vi and Vim. By default, window focus is controlled by what the documentation refers to as the 'Mod1' key (
Alt key
The Alt key (pronounced or ) on a computer keyboard is used to change (alternate) the function of other pressed keys. Thus, the Alt key is a modifier key, used in a similar fashion to the Shift key. For example, simply pressing ''A'' will ty ...
/
Windows key
The Windows key (also known as win, start, logo, flag or super key) is a keyboard key originally introduced on Microsoft's Natural Keyboard in 1994. Windows 95 used it to bring up the start menu and it then became a standard key on PC ke ...
) in addition to the right-hand home row keys (Mod1+J,K,L,Semicolon), while window movement is controlled by the addition of the
Shift key
The Shift key is a modifier key on a alphanumeric keyboard, keyboard, used to type majuscule, capital letters and other alternate "upper" characters. There are typically two Shift keys, on the left and right sides of the row below the home row. T ...
(Mod1+Shift+J,K,L,Semicolon).
Design goals
i3's primary design goals are to possess well-written, documented code that encourages user contribution; to use XCB instead of
Xlib
Xlib (also known as libX11) is an X Window System protocol client library (computer science), library written in the C (programming language), C programming language. It contains subroutine, functions for interacting with an X Server (computi ...
; to implement multi-monitor features correctly, so that each workspace is assigned to a virtual screen, and monitor additions and removals are non-destructive of windows; to implement different modes, in a manner similar to that of the text editors vi and vim; to use a tree as the abstraction (and underlying data structure) for window management; and to implement
UTF-8
UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8.
UTF-8 supports all 1,112,0 ...
character encoding.
Features
i3's configuration is done via a
plain text
In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects ( floating-point numbers, images, etc.). It may also include a lim ...
file (usually found in ~/.config/i3/config),In Unix filesystems, "~" refers to the user's
home directory
A home directory is a directory (file systems), file system directory on a multi-user operating system containing computer file, files for a given user (computing), user of the system. The specifics of the home directory (such as its name and loc ...
. which can be customized without any sophisticated programming knowledge. Contrary to other popular tiling window managers, such as dwm, awesome, and xmonad, window management is left to the user in i3. Windows are held inside containers, which can be split vertically or horizontally. They can also optionally be resized. There are also options for stacking the windows, as well as tabbing them (similar to the interface that web browsers use). i3 uses dmenu as the default program launcher, but it can be replaced. i3 also has an associated program called i3bar that displays information about the system at the bottom of the screen.
i3 also supports the use of multiple monitors.
Floating pop-up windows
Even though i3 is a tiling window manager, specific windows, such as password pop-ups, are not displayed as new tiles by default; they are always stacked in front of tiled windows, unless in full screen mode. These floating windows can be moved and resized freely, just as they can in stacking window managers and popular
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
s like
GNOME
A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
or
KDE Plasma
KDE Plasma is a Shell (computing), graphical shell developed by the KDE community for Unix-like operating systems. It serves as the interface layer between the user and the operating system, providing a graphical user interface (GUI) and workspa ...
.
The authors of i3 intend floating windows to be used for pop-up windows only.
Gallery
File:i3 window manager with stacking layout.png, i3 with stacked layout
File:i3 window manager with tabbed layout.png, i3 with tabbed layout
File:i3 window manager with floating window.png, i3 with floating window