Jump to content

i3 (window manager)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Lonyelon (talk | contribs) at 14:54, 28 January 2021 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

i3
Original author(s)Michael Stapelberg
Initial releaseMarch 15, 2009; 15 years ago (2009-03-15)[1]
Stable release
4.19 / November 15, 2020; 4 years ago (2020-11-15)
Repository
Written inC
Operating systemUnix-like
Size1.2 MiB[2]
TypeWindow manager
LicenseBSD license[3]
Websitei3wm.org

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 it handles dynamically. Configuration is achieved via 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. By default, window focus is controlled by the 'Mod1' (Alt key/Win key) plus the right-hand home row keys (Mod1+J,K,L,;), while window movement is controlled by the addition of the Shift key (Mod1+Shift+J,K,L,;). [6]

Design goals

  • Possess well-written, documented code that encourages user contribution.[3]
  • Use XCB instead of Xlib.
  • 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.
  • Implement different modes, similar to the text editor vi and vim. That is, keys have different functions depending on the mode that the window manager is in.
  • Use a tree as the abstraction (and underlying data structure) for window management.
  • Implement UTF-8 character encoding.

Features

  • The configuration is done via a plain text file (found in ~/.config/i3/config).
  • i3 can be customized without programming.[6]
  • 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).
  • Uses dmenu as the default program launcher, but it can be replaced.[6][7]

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;[8] 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 popular desktop environments like GNOME or KDE Plasma.[7]

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

See also

  • Sway – i3 clone for Wayland
  • I3-gaps – i3 clone that allows for gaps to be added between windows improving aesthetics.

References

  1. ^ GitHub releases
  2. ^ i3 download page
  3. ^ a b i3 home page
  4. ^ i3 - An Improved Tiling Window Manager
  5. ^ Stapelberg, Michael. "i3: IPC interface (interprocess communication)".
  6. ^ a b c Congleton, Nick (May 23, 2017). "Install and Use i3 Window Manager on Ubuntu". maketecheasier. Uqnic Network Pte. Retrieved May 1, 2019.
  7. ^ a b J.A. Watson (January 7, 2016). "How to customise your Linux desktop: i3 Window Manager". zdnet.com. ZDNet. Retrieved May 1, 2019.
  8. ^ Stapelberg, Michael. "Forcing windows as always floating".
  9. ^ Stapelberg, Michael. ""floating" workspace".