i3 (window manager)

i3
i3 with vim and terminals open
Original author(s) Michael Stapelberg
Initial release March 15, 2009 (2009-03-15)[1]
Stable release
4.15 / March 10, 2018 (2018-03-10)
Repository Edit this at Wikidata
Written in C
Operating system Unix-like
Size 1.2 MiB[2]
Type Window manager
License BSD license[3]
Website i3wm.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 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,;).

Sway is another window manager with the intention of providing a "drop-in replacement" for i3 using the Wayland display server protocol.[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 editors vi and emacs. That is, keys have different functions depending on the mode the window manager is in.
  • Use a tree as the abstraction (and underlying data structure) for window management.
  • Implement UTF-8 character encoding.

Compared to other tiling window managers

  • The configuration is done via a plain text file, so i3 can be customized without knowledge of programming.
  • 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 now use).

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:[7] they are stacked in front of tiled windows. These floating windows can be moved and resized freely, just like in popular desktop environments like GNOME or KDE.

Floating windows are intended by the authors of i3 to be used for pop-up windows only.[8]

References

  1. Github releases
  2. i3 download page
  3. 1 2 i3 home page
  4. Arch Linux Wiki Comparison of Tiling Window Managers
  5. Stapelberg, Michael. "i3: IPC interface (interprocess communication)".
  6. "Sway WM".
  7. Stapelberg, Michael. "Forcing windows as always floating".
  8. Stapelberg, Michael. ""floating" workspace".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.