I3 (window manager) explained

i3
Screenshot Size:300px
Author:Michael Stapelberg
Released:[1]
Size:1.3 MiB[2]
Genre:Window manager
License:BSD-3-Clause[3]
Website:i3wm.org
Programming Language:C
Operating System:Unix-like

i3 is a tiling window manager designed for X11, inspired by wmii and written in C.[4] 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.[5]

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/Windows key) 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 (Mod1+Shift+J,K,L,Semicolon).[6]

Design goals

i3's primary design goals are to possess well-written, documented code that encourages user contribution; to use XCB instead of Xlib; 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 character encoding.

Features

i3's configuration is done via a plain text file (usually found in ~/.config/i3/config),[7] 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.[8]

i3 also supports the use of multiple monitors.[9]

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;[10] 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 environments like GNOME or KDE Plasma.[11]

The authors of i3 intend floating windows to be used for pop-up windows only.[12]

See also

Notes and References

  1. https://github.com/i3/i3/releases?after=tree-pr1 GitHub releases
  2. https://i3wm.org/downloads/ i3 download page
  3. https://i3wm.org/ i3 home page
  4. https://www.youtube.com/watch?v=QnYN2CTb1hM i3 - An Improved Tiling Window Manager
  5. Web site: Stapelberg. Michael. i3: IPC interface (interprocess communication).
  6. Web site: Install and Use i3 Window Manager on Ubuntu . Nick . Congleton . May 23, 2017 . May 1, 2019 . Uqnic Network Pte . maketecheasier .
  7. In Unix filesystems, "~" refers to the user's home directory.
  8. Web site: Getting started with the i3 tiling window manager . 24 February 2016 .
  9. Web site: Using i3 with multiple monitors.
  10. Web site: Stapelberg. Michael. Forcing windows as always floating.
  11. Web site: How to customise your Linux desktop: i3 Window Manager. J.A. Watson . January 7, 2016 . May 1, 2019 . ZDNet . .
  12. Web site: Stapelberg. Michael. "floating" workspace.