https://wiki.archlinux.org/api.php?action=feedcontributions&user=Hellomynameisphil&feedformat=atomArchWiki - User contributions [en]2024-03-28T09:25:00ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Stumpwm&diff=471823Stumpwm2017-03-25T18:22:56Z<p>Hellomynameisphil: /* With SBCL */ Added dependency based on what was required when I installed stumpwm just now.</p>
<hr />
<div>[[Category:Tiling WMs]]<br />
[[ja:Stumpwm]]<br />
StumpWM is a tiling, keyboard driven X11 window manager written entirely in<br />
Common Lisp.<br />
<br />
The successor to the cult classic [[Ratpoison]], StumpWM adds all the<br />
flexibility and hackability of Common Lisp, allowing the user to make<br />
modifications to the source of the window manager even while it is<br />
running. It is also known as "the emacs of WMs."<br />
<br />
From [https://stumpwm.github.io/ StumpWM's homepage]:<br />
<br />
:"StumpWM attempts to be customizable yet visually minimal. There are no window decorations, no icons, and no buttons. It does have various hooks to attach your personal customizations, and variables to tweak.<br />
<br />
:* Hack the good hack<br />
:* Debug your good hack<br />
:* Customize your window manager<br />
:While it's running That's right. With a 100% Common Lisp window manager there's no stopping the hacks. Just re-eval and GO!"<br />
<br />
Want to see it in action? A StumpWM user created<br />
a [http://www.archive.org/details/TheStumpWMExperience video].<br />
<br />
== Installation ==<br />
<br />
[[Install]] {{AUR|stumpwm}} or {{AUR|stumpwm-git}}. The stable version supports multiple common-lisp implementations. The git version only supports sbcl.<br />
<br />
SBCL is recommended for maximum performance.<br />
<br />
=== With SBCL ===<br />
Install these packages in the following order:<br />
* {{Pkg|sbcl}}<br />
* {{AUR|cl-alexandria}}<br />
* {{AUR|clx-git}}<br />
* {{AUR|cl-ppcre}}<br />
* {{AUR|stumpwm}} or {{AUR|stumpwm-git}}<br />
<br />
=== With Clisp ===<br />
Install these packages from AUR in the following order:<br />
* {{AUR|clisp-new-clx}}<br />
* {{AUR|asdf}}<br />
* {{AUR|cl-ppcre}}<br />
* {{AUR|stumpwm}}<br />
<br />
Also, look at [https://bbs.archlinux.org/viewtopic.php?pid=543537#p543537 this post] if you run into troubles.<br />
<br />
== Documentation and Support ==<br />
<br />
There is a TeXInfo manual included in the AUR package, the source, and [https://stumpwm.github.io/git/stumpwm-git.html online].<br />
<br />
There is also a [http://github.com/sabetts/stumpwm/wiki wiki], an IRC channel<br />
(#stumpwm) on Freenode, and a mailing list. For more information, of<br />
course, see [https://stumpwm.github.io/ the project's website].<br />
<br />
== Tweaking ==<br />
<br />
See the wiki for a variety of useful tweaks for your .stumpwmrc.<br />
<br />
If you are an emacs user, you will find an emacs minor mode for editing<br />
StumpWM files (and interfacing with the program {{Ic|stumpish}}, but<br />
more on that below) in the contrib/ directory of the StumpWM source.<br />
If you are using clisp, this file can also be found in<br />
{{Ic|/usr/share/stumpwm/}}.<br />
<br />
{{Ic|stumpish}} is the STUMP window manager Interactive SHell. It is<br />
a program that allows the user to interact with StumpWM while it is<br />
running, from the comfort of a terminal (or using the emacs mode). It<br />
can be found in the contrib/ directory of the StumpWM source. If you<br />
use clisp, this file can also be found in {{Ic|/usr/bin/}}.<br />
<br />
== Troubleshooting ==<br />
* If you have problems configuring multiple monitors, maybe you need to install 'xorg-xdpyinfo' package.<br />
<br />
* If you cannot start stumpwm and get<br />
debugger invoked on a SB-INT:SIMPLE-PARSE-ERROR in thread<br />
#:<br />
no non-whitespace characters in string "".<br />
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.<br />
(no restarts: If you did not do this on purpose, please report it as a bug.)<br />
(PARSE-INTEGER "" :START 0 :END NIL :RADIX 10 :JUNK-ALLOWED NIL)<br />
<br />
in the REPL, it can be solved by deleting {{ic|~/.Xauthority}}. See [https://github.com/sabetts/stumpwm/issues/1 this issue on github]</div>Hellomynameisphilhttps://wiki.archlinux.org/index.php?title=Comparison_of_tiling_window_managers&diff=167760Comparison of tiling window managers2011-10-27T23:11:51Z<p>Hellomynameisphil: </p>
<hr />
<div>[[Category:Tiling WMs (English)]]<br />
This article provides an unbiased comparison of the most popular ''tiling'' [[window manager]]s (as opposed to ''floating'' window managers).<br />
<br />
== Comparison table ==<br />
The following table lists the most popular tiling window managers alongside notable features, providing readers with a quick overview. More in-depth descriptions follow this table.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="4" cellspacing="0"<br />
|+ Comparison of tiling window managers<br />
! scope="col" | Window Manager<br />
! scope="col" | Written in<br />
! scope="col" | Configured with<br />
! scope="col" | Management styl<br />
! scope="col" | System tray support<br />
! scope="col" | On-the-fly reload<br />
! scope="col" class="unsortable" | Information bars<br />
! scope="col" | Compositing<br />
! scope="col" class="unsortable" | Default layouts<br />
! scope="col" class="unsortable" | Pixel usage<br />
! scope="col" class="unsortable" | External control<br />
! scope="col" | Library<br />
! scope="col" class="unsortable" | Multiple (n) monitor behavior<br />
|-<br />
! [[Awesome]]<br />
| C || Lua || Dynamic || Built-in || Yes || Built-in, images and text || Yes, with an external manager such as xcompmgr || || variable borders, optional h-tab titles || dbus (if enabled) || XCB || n-tags (workspaces). Per default 9 are enabled. [https://awesome.naquadah.org/images/6mon.medium.png Example]<br />
|-<br />
! [[catwm]]<br />
| C || C (recompile) || Dynamic || None || No || None || No || v-stack, max || 1-pix borders || || Xlib || <br />
|-<br />
! [[dswm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[dwm]]<br />
| C || C (recompile) || Dynamic || None || [[Dwm#Restart dwm without logging out or closing programs | Optional]] || Built-in, reads from root window name || Yes, with an external manager such as xcompmgr || v-stack, max || || || Xlib || n regions, 9 workspaces fixed to each region<br />
|-<br />
! [[echinus]]<br />
| C || Text || Dynamic || None || Yes || [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico] || Yes, with an external manager such as xcompmgr || v-stack, b-stack, max || Variable borders & optional titles || || Xlib ||<br />
|-<br />
! [[euclid-wm]]<br />
| C || Text || Hybrid || None || Yes || External ([[dzen]]) || || rows, columns || 1-pix borders || || Xlib ||<br />
|-<br />
! [[herbstluftwm]]<br />
| C || Text || Manual || None || Yes || || || rows, columns || 1-pix borders || commands via herbstclient || Xlib and Glib ||<br />
|-<br />
! [[i3]] <br />
| C || Text || Manual || None || Yes || [http://www.archlinux.org/packages/community/i686/i3status/ i3status] with [[dzen]] or xmobar || Yes, with an external manager such as xcompmgr || rows, columns, v-tab, h-tab, max || 2-pix borders, titles || commands via ipc || XCB || n regions<br />
|-<br />
! [[Ion3]] <br />
| C || Lua || Manual || trayion || Yes || configurable || ? || h-tab, max || || || ||<br />
|-<br />
! [[Musca]]<br />
| C || Text, own command set, C(recompile) || Manual || None || No, but allows running of musca commands on the fly || None || No || h-split, v-split, max || || commands, hooks || Xlib ||<br />
|-<br />
! [[Notion]] <br />
| C || Lua, compatible with Ion3 configs || Manual || trayion, stalonetray || Yes || configurable || ? || h-tab, max || Configurable borders and titlebars/tabs || || || "Takes into account changes to the screen topology without needing to restart Notion"<br />
|-<br />
! [[Ratpoison]]<br />
| C || Text || Manual || None || Yes || Yes || Yes, with an external manager such as xcompmgr || max || || || ||<br />
|-<br />
! [[Scrotwm]]<br />
| C || Text || Dynamic || None || Yes || Built-in, reads from user script || No || nv-stack, nh-stack, max || 1-pix borders, no titles || || Xlib || n regions, 10 workspaces visible in any region<br />
|-<br />
! [[Stumpwm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[subtle]]<br />
| C || Ruby || Manual || Built-in || Yes || Built-in (Ruby), external can be used as well || Yes, with an external manager such as xcompmgr || Variable grid || Variable borders, no titles || Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) || Xlib || One workspace (view) per monitor (screen), placement on views via tags and per runtime<br />
|-<br />
! [[WMFS]]<br />
| C || Text || Dynamic || Built-in || Yes || Built-in, set with command, color text, images || May with external manager such as {d,x}compmgr || nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max || variable borders, titles or no titles || commands || Xlib || Up to 36 tags(workspaces) per screen<br />
|-<br />
! [[wmii]]<br />
| C || Anything || Manual || witray || Yes || Built-in || Yes, with an external manager such as xcompmgr || columns, max, v-tab || titles || [http://9p.cat-v.org 9P filesystem] || || one big region<br />
|-<br />
! [[xmonad]]<br />
| Haskell || Haskell || Dynamic || None || Yes || No || Yes, with xmonad-contrib and an external manager || nv-stack, nh-stack, max || variable borders, no titles || via [http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-ServerMode.html XMonad-Hooks-ServerMode] || Xlib || n regions, 9 workspaces visible in any region<br />
|-<br />
|-class="sortbottom"<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|}<br />
<br />
{{Tip|External control can also be achieved by programs like {{Package Official|xdotool}} which simulate keystrokes.}}<br />
<br />
=== Management style ===<br />
Dynamic management emphasizes automatic management of window layouts for speed and simplicity. Manual management emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.<br />
<br />
=== Layouts ===<br />
A number of common layout types appear in several tiling WMs, although the terminology varies somewhat.<br />
* max: one window shown fullscreen (with or without a status bar, title and borders). Aka: monocle (dwm).<br />
* h-stack: master area in top half, other windows stack up horizontally in the bottom half. The master area may be resizable. May be inverted top-bottom (wmfs). Aka: bottom stack (dwm).<br />
* v-stack: master area in left half, other windows stack up vertically in the right half. The master area may be resizable. May be inverted left-right (wmfs). Aka: tile (dwm).<br />
* nh-stack: h-stack allowing >=1 windows in master area. Aka: nbstack (dwm)<br />
* nv-stack: v-stack allowing >=1 windows in master area. Aka: ntile (dwm)<br />
* mirror-h: nh-stack with stacks above and below the master area<br />
* mirror-v: nv-stack with stacks to the left and right of the master area<br />
* h-tab: one window shown fullscreen with all window titles shown horizontally (like browser tabs)<br />
* v-tab: one window shown fullscreen with all window titles shown vertically. Aka: stack (wmii).<br />
* h-split: a keybinding splits the current window horizontally creating space for another<br />
* v-split: a keybinding splits the current window horizontally creating space for another<br />
* columns: manual layout style which treats windows as belonging to vertical columns<br />
* rows: manual layout style which treats windows as belonging to horizontal rows<br />
* grid: window positions and sizes based on a regular NxM grid. May be automatic (like wmfs) or manual (like Subtle).<br />
<br />
=== Key bindings ===<br />
Tiling window managers are usually designed to be used entirely with the keyboard or with keyboard & mouse. This is for speed (reaching for and moving a mouse is slow) and ease of use. Sensible key bindings are crucial to making workflow fast and efficient. Some default sets are better than others, but generally the keys can be rebound as desired by the user.<br />
<br />
== [[Awesome]] ==<br />
[http://awesome.naquadah.org/ awesome] on its own can provide many of the functions of a desktop environment. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.<br />
<br />
== [[catwm]] ==<br />
[[catwm]] is a small window manager, even simpler than dwm, written in C. Configuration is done by modifying the config.h file and recompiling.<br />
<br />
== [[dswm]] ==<br />
[http://sourceforge.net/projects/dswm/ dswm] ([http://aur.archlinux.org/packages.php?ID=47899 AUR]) (Deep Space Window Manager) is an offshoot of [[Stumpwm]].<br />
<br />
== [[dwm]] ==<br />
[http://dwm.suckless.org/ dwm] is one of the simpler window managers. It does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed. It is more lightweight than the others listed here, at the expense of certain features. The program size is already at the self-imposed line limit, restricting further development.<br />
<br />
== [[echinus]] ==<br />
[http://plhk.ru/echinus echinus] ([http://aur.archlinux.org/packages.php?O=0&K=echinus&do_Search=Go AUR]) is a<br />
simple and lightweight tiling and floating window manager for X11. It started as a dwm fork with easier configuration, and became a full-featured reparenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar called [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico].<br />
<br />
== [[euclid-wm]] ==<br />
[http://euclid-wm.sourceforge.net/index.php euclid-wm] ([http://aur.archlinux.org/packages.php?ID=38311 AUR]) is a hybrid manual and automatic window manager, with support for minimizing windows. Simplicity is one of its goals. A text configuration file controls key bindings and settings.<br />
<br />
== [[herbstluftwm]] ==<br />
[http://wwwcip.cs.fau.de/~re06huxa/herbstluftwm/ herbstluftwm] is a manual tiling window manager similar to Musca and i3. It is available from the AUR: {{Package AUR|herbstluftwm-git}}.<br />
<br />
== [[i3]] ==<br />
[http://i3.zekjur.net/ i3] was created because wmii, the authors' favorite window manager at the time, didn’t provide some features they wanted. Notable differences are in the areas of Xinerama and the table metaphor. For speed the Plan 9 interface of wmii is not implemented.<br />
<br />
== [[ion3]] ==<br />
Ion is a tiling window manager with tabbed frames. It uses Lua as an embedded interpreter which handles all of the configuration. It mainly uses the keyboard to access the functions but also supports the mouse for some things.<br />
<br />
== [[Musca]] ==<br />
A simple dynamic window manager for X, with features nicked from ratpoison and dwm:<br />
[http://aerosuidae.net/musca.html Musca] operates as a tiling window manager by default. It uses manual tiling, which means the user determines how the screen is divided into non-overlapping frames, with no restrictions on layout. Application windows always fill their assigned frame, with the exception of transient windows and popup dialog boxes which float above their parent application at the appropriate size. Once visible, applications do not change frames unless so instructed.<br />
<br />
== [[Notion]] ==<br />
[http://notion.sf.net/ Notion] is a tiling, tabbed window manager for the X window system.<br />
*Tiling: you divide the screen into non-overlapping 'tiles'. Every window occupies one tile, and is maximized to it<br />
*Tabbing: a tile may contain multiple windows - they will be 'tabbed'<br />
*Static: most tiled window managers are 'dynamic', meaning they automatically resize and move around tiles as windows appear and disappear. Notion, by contrast, does not automatically change the tiling. <br />
Notion is a fork of Ion3. There is a package in [http://www.archlinux.org/packages/community/i686/notion/ community].<br />
<br />
== [[Ratpoison]] ==<br />
[http://www.nongnu.org/ratpoison/ Ratpoison] is configured with a simple text file, as opposed to some of the other tiling window managers which are configured with programming languages. While this reduces flexibility, it can be easier to understand. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray and is quite lightweight.<br />
<br />
== [[Scrotwm]] ==<br />
[http://www.scrotwm.org/ scrotwm] is a small dynamic tiling window manager largely inspired by xmonad and dwm. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration, being configured with a text file. It was written by hackers for hackers and it strives to be small, compact, and fast. It has a built-in status bar fed from a user-defined script.<br />
<br />
== [[Stumpwm]] ==<br />
[http://www.nongnu.org/stumpwm/ Stumpwm] is similar to [[Ratpoison]] but is written and configured completely in Lisp. It can be reconfigured and reloaded while running. As with wmii and Ratpoison, it is a manual window manager. Its information bar can be set to show constantly or only when needed. It does not include a system tray.<br />
<br />
== [[subtle]] ==<br />
[http://subforge.org/projects/subtle subtle] is a tiling window manager with flexible manual layouts based on predefined sizes and positions corresponding by default to 1x2, 2x1, 1x3, 2x2 and 2x3 grid elements. It has workspace tags and automatic client tagging, mouse and keyboard control as well as an extendable statusbar.<br />
<br />
== [[wmfs]] ==<br />
[http://wmfs.info/ WMFS] (Window Manager From Scratch) is a lightweight and highly configurable tiling window manager for X. It can be configured with a configuration file, supports Xft ([http://www.freetype.org/ Freetype]) fonts and is compliant with the Extended Window Manager Hints ([http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html EWMH]) specifications. It's still under heavy development<br />
<br />
== [[wmii]] ==<br />
[http://wmii.suckless.org/ wmii] uses a manual style of management -- the user must manually move windows around. While more work than dynamic management, this also provides more flexibility by default. wmii is configured via a [http://9p.cat-v.org 9P file system], which allows any program that can work with text to configure it. The default configuration is in bash and [http://rc.cat-v.org rc (the Plan 9 shell)], but programs exist written in ruby, for example. It has a status bar and launcher built in, and also an optional system tray ({{Codeline|witray}}).<br />
<br />
== [[xmonad]] ==<br />
[http://xmonad.org/ xmonad] is written in Haskell, and it is configured in Haskell. This allows great flexibility, although this can be confusing at times. No text configuration file has been implemented. For all configuration changes xmonad must be recompiled, so the haskell compiler (over 485MB) must be installed. Compilation normally takes ~2 seconds, and can be done without affecting running programs. XMonad, in itself, is quite simple, but there is a large library called xmonad-contrib which provides many other features. XMonad does not include any utility programs, but others, such as [[dzen]] and [[xmobar]], make it easy to display such things as workspace information. xmonad does not come with an application launcher, but there are modules in xmonad-contrib which provide one, as well as programs like [[dmenu]] and gmrun. There is no system tray, but this can be provided by applications such as stalonetray and trayer.<br />
<br />
== More Resources ==<br />
The forum has a wealth of information about many of the tiling window managers compared here. Some notable threads specific to tilers include:<br />
<br />
=== Tiling WM threads ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57549 The dwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=99064 The i3 thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=67104 The Musca thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=64645 The scrotwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=71783 The subtle thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=110714 The WMFS thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=22592 The wmii thread]<br />
<br />
=== Threads featuring configs & hacks ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=92895 dwm hackers, unite! Share or request patches here!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=304851 dzen and xmobar hacking thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88926 Share your Awesome desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=68622 Share your Ratpoison (experience)]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=112486 Share your Subtle desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=937394 Share your WMFS desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=94969 Share your xmonad desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=74599 Show off your dwm configuration]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=40636 xmonad hacking thread]<br />
<br />
=== Artwork for tilers ===<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57768 dwm wallpapers]</div>Hellomynameisphilhttps://wiki.archlinux.org/index.php?title=Comparison_of_tiling_window_managers&diff=167759Comparison of tiling window managers2011-10-27T23:09:52Z<p>Hellomynameisphil: </p>
<hr />
<div>[[Category:Tiling WMs (English)]]<br />
This article provides an unbiased comparison of the most popular ''tiling'' [[window manager]]s (as opposed to ''floating'' window managers).<br />
<br />
== Comparison table ==<br />
The following table lists the most popular tiling window managers alongside notable features, providing readers with a quick overview. More in-depth descriptions follow this table.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="4" cellspacing="0"<br />
|+ Comparison of tiling window managers<br />
! scope="col" | Window Manager<br />
! scope="col" | Written in<br />
! scope="col" | Configured with<br />
! scope="col" | Management styl<br />
! scope="col" | System tray support<br />
! scope="col" | On-the-fly reload<br />
! scope="col" class="unsortable" | Information bars<br />
! scope="col" | Compositing<br />
! scope="col" class="unsortable" | Default layouts<br />
! scope="col" class="unsortable" | Pixel usage<br />
! scope="col" class="unsortable" | External control<br />
! scope="col" | Library<br />
! scope="col" class="unsortable" | Multiple (n) monitor behavior<br />
|-<br />
! [[Awesome]]<br />
| C || Lua || Dynamic || Built-in || Yes || Built-in, images and text || Yes, with an external manager such as xcompmgr || || variable borders, optional h-tab titles || dbus (if enabled) || XCB || n-tags (workspaces). Per default 9 are enabled. [https://awesome.naquadah.org/images/6mon.medium.png Example]<br />
|-<br />
! [[catwm]]<br />
| C || C (recompile) || Dynamic || None || No || None || No || v-stack, max || 1-pix borders || || Xlib || <br />
|-<br />
! [[dswm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[dwm]]<br />
| C || C (recompile) || Dynamic || None || [[Dwm#Restart dwm without logging out or closing programs | Optional]] || Built-in, reads from root window name || Yes, with an external manager such as xcompmgr || v-stack, max || || || Xlib || n regions, 9 workspaces fixed to each region<br />
|-<br />
! [[echinus]]<br />
| C || Text || Dynamic || None || Yes || [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico] || Yes, with an external manager such as xcompmgr || v-stack, b-stack, max || Variable borders & optional titles || || Xlib ||<br />
|-<br />
! [[euclid-wm]]<br />
| C || Text || Hybrid || None || Yes || External ([[dzen]]) || || rows, columns || 1-pix borders || || Xlib ||<br />
|-<br />
! [[herbstluftwm]]<br />
| C || Text || Manual || None || Yes || || || rows, columns || 1-pix borders || commands via herbstclient || Xlib and Glib ||<br />
|-<br />
! [[i3]] <br />
| C || Text || Manual || None || Yes || [http://www.archlinux.org/packages/community/i686/i3status/ i3status] with [[dzen]] or xmobar || Yes, with an external manager such as xcompmgr || rows, columns, v-tab, h-tab, max || 2-pix borders, titles || commands via ipc || XCB || n regions<br />
|-<br />
! [[Ion3]] <br />
| C || Lua || Manual || trayion || Yes || configurable || ? || h-tab, max || || || ||<br />
|-<br />
! [[Musca]]<br />
| C || Text, own command set, C(recompile) || Manual || None || No, but allows running of musca commands on the fly || None || No || h-split, v-split, max || || commands, hooks || Xlib ||<br />
|-<br />
! [[Notion]] <br />
| C || Lua, compatible with Ion3 configs || Manual || trayion, stalonetray || Yes || configurable || ? || h-tab, max || Configurable borders and titlebars/tabs || || || "Takes into account changes to the screen topology without needing to restart Notion"<br />
|-<br />
! [[Ratpoison]]<br />
| C || Text || Manual || None || Yes || Yes || Yes, with an external manager such as xcompmgr || max || || || ||<br />
|-<br />
! [[Scrotwm]]<br />
| C || Text || Dynamic || None || Yes || Built-in, reads from user script || No || nv-stack, nh-stack, max || 1-pix borders, no titles || || Xlib || n regions, 10 workspaces visible in any region<br />
|-<br />
! [[Stumpwm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[subtle]]<br />
| C || Ruby || Manual || Built-in || Yes || Built-in (Ruby), external can be used as well || Yes, with an external manager such as xcompmgr || Variable grid || Variable borders, no titles || Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) || Xlib || One workspace (view) per monitor (screen), placement on views via tags and per runtime<br />
|-<br />
! [[WMFS]]<br />
| C || Text || Dynamic || Built-in || Yes || Built-in, set with command, color text, images || May with external manager such as {d,x}compmgr || nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max || variable borders, titles or no titles || commands || Xlib || Up to 36 tags(workspaces) per screen<br />
|-<br />
! [[wmii]]<br />
| C || Anything || Manual || witray || Yes || Built-in || Yes, with an external manager such as xcompmgr || columns, max, v-tab || titles || [http://9p.cat-v.org 9P filesystem] || || one big region<br />
|-<br />
! [[xmonad]]<br />
| Haskell || Haskell || Dynamic || None || Yes || No || Yes, with xmonad-contrib and an external manager || nv-stack, nh-stack, max || variable borders, no titles || via [http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-ServerMode.html XMonad-Hooks-ServerMode] || Xlib || n regions, 9 workspaces visible in any region<br />
|-<br />
|-class="sortbottom"<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|}<br />
<br />
{{Tip|External control can also be achieved by programs like {{Package Official|xdotool}} which simulate keystrokes.}}<br />
<br />
=== Management style ===<br />
Dynamic management emphasizes automatic management of window layouts for speed and simplicity. Manual management emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.<br />
<br />
=== Layouts ===<br />
A number of common layout types appear in several tiling WMs, although the terminology varies somewhat.<br />
* max: one window shown fullscreen (with or without a status bar, title and borders). Aka: monocle (dwm).<br />
* h-stack: master area in top half, other windows stack up horizontally in the bottom half. The master area may be resizable. May be inverted top-bottom (wmfs). Aka: bottom stack (dwm).<br />
* v-stack: master area in left half, other windows stack up vertically in the right half. The master area may be resizable. May be inverted left-right (wmfs). Aka: tile (dwm).<br />
* nh-stack: h-stack allowing >=1 windows in master area. Aka: nbstack (dwm)<br />
* nv-stack: v-stack allowing >=1 windows in master area. Aka: ntile (dwm)<br />
* mirror-h: nh-stack with stacks above and below the master area<br />
* mirror-v: nv-stack with stacks to the left and right of the master area<br />
* h-tab: one window shown fullscreen with all window titles shown horizontally (like browser tabs)<br />
* v-tab: one window shown fullscreen with all window titles shown vertically. Aka: stack (wmii).<br />
* h-split: a keybinding splits the current window horizontally creating space for another<br />
* v-split: a keybinding splits the current window horizontally creating space for another<br />
* columns: manual layout style which treats windows as belonging to vertical columns<br />
* rows: manual layout style which treats windows as belonging to horizontal rows<br />
* grid: window positions and sizes based on a regular NxM grid. May be automatic (like wmfs) or manual (like Subtle).<br />
<br />
=== Key bindings ===<br />
Tiling window managers are usually designed to be used entirely with the keyboard or with keyboard & mouse. This is for speed (reaching for and moving a mouse is slow) and ease of use. Sensible key bindings are crucial to making workflow fast and efficient. Some default sets are better than others, but generally the keys can be rebound as desired by the user.<br />
<br />
== [[Awesome]] ==<br />
[http://awesome.naquadah.org/ awesome] on its own can provide many of the functions of a desktop environment. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.<br />
<br />
== [[catwm]] ==<br />
[[catwm]] is a small window manager, even simpler than dwm, written in C. Configuration is done by modifying the config.h file and recompiling.<br />
<br />
== [[dswm]] ==<br />
[http://sourceforge.net/projects/dswm/ dswm] ([http://aur.archlinux.org/packages.php?ID=47899 AUR]) (Deep Space Window Manager) is an offshoot of [[Stumpwm]].<br />
<br />
== [[dwm]] ==<br />
[http://dwm.suckless.org/ dwm] is one of the simpler window managers. It does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed. It is more lightweight than the others listed here, at the expense of certain features. The program size is already at the self-imposed line limit, restricting further development.<br />
<br />
== [[echinus]] ==<br />
[http://plhk.ru/echinus echinus] ([http://aur.archlinux.org/packages.php?O=0&K=echinus&do_Search=Go AUR]) is a<br />
simple and lightweight tiling and floating window manager for X11. It started as a dwm fork with easier configuration, and became a full-featured reparenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar called [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico].<br />
<br />
== [[euclid-wm]] ==<br />
[http://euclid-wm.sourceforge.net/index.php euclid-wm] ([http://aur.archlinux.org/packages.php?ID=38311 AUR]) is a hybrid manual and automatic window manager, with support for minimizing windows. Simplicity is one of its goals. A text configuration file controls key bindings and settings.<br />
<br />
== [[herbstluftwm]] ==<br />
[http://wwwcip.cs.fau.de/~re06huxa/herbstluftwm/ herbstluftwm] is a manual tiling window manager similar to Musca and i3. It is available from the AUR: {{Package AUR|herbstluftwm-git}}.<br />
<br />
== [[i3]] ==<br />
[http://i3.zekjur.net/ i3] was created because wmii, the authors' favorite window manager at the time, didn’t provide some features they wanted. Notable differences are in the areas of Xinerama and the table metaphor. For speed the Plan 9 interface of wmii is not implemented.<br />
<br />
== [[ion3]] ==<br />
Ion is a tiling window manager with tabbed frames. It uses Lua as an embedded interpreter which handles all of the configuration. It mainly uses the keyboard to access the functions but also supports the mouse for some things.<br />
<br />
== [[Musca]] ==<br />
A simple dynamic window manager for X, with features nicked from ratpoison and dwm:<br />
[http://aerosuidae.net/musca.html Musca] operates as a tiling window manager by default. It uses manual tiling, which means the user determines how the screen is divided into non-overlapping frames, with no restrictions on layout. Application windows always fill their assigned frame, with the exception of transient windows and popup dialog boxes which float above their parent application at the appropriate size. Once visible, applications do not change frames unless so instructed.<br />
<br />
== [[Notion]] ==<br />
[http://notion.sf.net/ Notion] is a tiling, tabbed window manager for the X window system.<br />
*Tiling: you divide the screen into non-overlapping 'tiles'. Every window occupies one tile, and is maximized to it<br />
*Tabbing: a tile may contain multiple windows - they will be 'tabbed'<br />
*Static: most tiled window managers are 'dynamic', meaning they automatically resize and move around tiles as windows appear and disappear. Notion, by contrast, does not automatically change the tiling. <br />
Notion is a fork of Ion3. There are two packages for it in the AUR: [http://aur.archlinux.org/packages.php?ID=52927 Notion] and [http://aur.archlinux.org/packages.php?ID=51885 Notion-XFT].<br />
<br />
== [[Ratpoison]] ==<br />
[http://www.nongnu.org/ratpoison/ Ratpoison] is configured with a simple text file, as opposed to some of the other tiling window managers which are configured with programming languages. While this reduces flexibility, it can be easier to understand. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray and is quite lightweight.<br />
<br />
== [[Scrotwm]] ==<br />
[http://www.scrotwm.org/ scrotwm] is a small dynamic tiling window manager largely inspired by xmonad and dwm. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration, being configured with a text file. It was written by hackers for hackers and it strives to be small, compact, and fast. It has a built-in status bar fed from a user-defined script.<br />
<br />
== [[Stumpwm]] ==<br />
[http://www.nongnu.org/stumpwm/ Stumpwm] is similar to [[Ratpoison]] but is written and configured completely in Lisp. It can be reconfigured and reloaded while running. As with wmii and Ratpoison, it is a manual window manager. Its information bar can be set to show constantly or only when needed. It does not include a system tray.<br />
<br />
== [[subtle]] ==<br />
[http://subforge.org/projects/subtle subtle] is a tiling window manager with flexible manual layouts based on predefined sizes and positions corresponding by default to 1x2, 2x1, 1x3, 2x2 and 2x3 grid elements. It has workspace tags and automatic client tagging, mouse and keyboard control as well as an extendable statusbar.<br />
<br />
== [[wmfs]] ==<br />
[http://wmfs.info/ WMFS] (Window Manager From Scratch) is a lightweight and highly configurable tiling window manager for X. It can be configured with a configuration file, supports Xft ([http://www.freetype.org/ Freetype]) fonts and is compliant with the Extended Window Manager Hints ([http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html EWMH]) specifications. It's still under heavy development<br />
<br />
== [[wmii]] ==<br />
[http://wmii.suckless.org/ wmii] uses a manual style of management -- the user must manually move windows around. While more work than dynamic management, this also provides more flexibility by default. wmii is configured via a [http://9p.cat-v.org 9P file system], which allows any program that can work with text to configure it. The default configuration is in bash and [http://rc.cat-v.org rc (the Plan 9 shell)], but programs exist written in ruby, for example. It has a status bar and launcher built in, and also an optional system tray ({{Codeline|witray}}).<br />
<br />
== [[xmonad]] ==<br />
[http://xmonad.org/ xmonad] is written in Haskell, and it is configured in Haskell. This allows great flexibility, although this can be confusing at times. No text configuration file has been implemented. For all configuration changes xmonad must be recompiled, so the haskell compiler (over 485MB) must be installed. Compilation normally takes ~2 seconds, and can be done without affecting running programs. XMonad, in itself, is quite simple, but there is a large library called xmonad-contrib which provides many other features. XMonad does not include any utility programs, but others, such as [[dzen]] and [[xmobar]], make it easy to display such things as workspace information. xmonad does not come with an application launcher, but there are modules in xmonad-contrib which provide one, as well as programs like [[dmenu]] and gmrun. There is no system tray, but this can be provided by applications such as stalonetray and trayer.<br />
<br />
== More Resources ==<br />
The forum has a wealth of information about many of the tiling window managers compared here. Some notable threads specific to tilers include:<br />
<br />
=== Tiling WM threads ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57549 The dwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=99064 The i3 thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=67104 The Musca thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=64645 The scrotwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=71783 The subtle thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=110714 The WMFS thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=22592 The wmii thread]<br />
<br />
=== Threads featuring configs & hacks ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=92895 dwm hackers, unite! Share or request patches here!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=304851 dzen and xmobar hacking thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88926 Share your Awesome desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=68622 Share your Ratpoison (experience)]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=112486 Share your Subtle desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=937394 Share your WMFS desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=94969 Share your xmonad desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=74599 Show off your dwm configuration]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=40636 xmonad hacking thread]<br />
<br />
=== Artwork for tilers ===<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57768 dwm wallpapers]</div>Hellomynameisphilhttps://wiki.archlinux.org/index.php?title=Comparison_of_tiling_window_managers&diff=167758Comparison of tiling window managers2011-10-27T23:07:27Z<p>Hellomynameisphil: </p>
<hr />
<div>[[Category:Tiling WMs (English)]]<br />
This article provides an unbiased comparison of the most popular ''tiling'' [[window manager]]s (as opposed to ''floating'' window managers).<br />
<br />
== Comparison table ==<br />
The following table lists the most popular tiling window managers alongside notable features, providing readers with a quick overview. More in-depth descriptions follow this table.<br />
<br />
{| class="wikitable sortable" border="1" cellpadding="4" cellspacing="0"<br />
|+ Comparison of tiling window managers<br />
! scope="col" | Window Manager<br />
! scope="col" | Written in<br />
! scope="col" | Configured with<br />
! scope="col" | Management styl<br />
! scope="col" | System tray support<br />
! scope="col" | On-the-fly reload<br />
! scope="col" class="unsortable" | Information bars<br />
! scope="col" | Compositing<br />
! scope="col" class="unsortable" | Default layouts<br />
! scope="col" class="unsortable" | Pixel usage<br />
! scope="col" class="unsortable" | External control<br />
! scope="col" | Library<br />
! scope="col" class="unsortable" | Multiple (n) monitor behavior<br />
|-<br />
! [[Awesome]]<br />
| C || Lua || Dynamic || Built-in || Yes || Built-in, images and text || Yes, with an external manager such as xcompmgr || || variable borders, optional h-tab titles || dbus (if enabled) || XCB || n-tags (workspaces). Per default 9 are enabled. [https://awesome.naquadah.org/images/6mon.medium.png Example]<br />
|-<br />
! [[catwm]]<br />
| C || C (recompile) || Dynamic || None || No || None || No || v-stack, max || 1-pix borders || || Xlib || <br />
|-<br />
! [[dswm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[dwm]]<br />
| C || C (recompile) || Dynamic || None || [[Dwm#Restart dwm without logging out or closing programs | Optional]] || Built-in, reads from root window name || Yes, with an external manager such as xcompmgr || v-stack, max || || || Xlib || n regions, 9 workspaces fixed to each region<br />
|-<br />
! [[echinus]]<br />
| C || Text || Dynamic || None || Yes || [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico] || Yes, with an external manager such as xcompmgr || v-stack, b-stack, max || Variable borders & optional titles || || Xlib ||<br />
|-<br />
! [[euclid-wm]]<br />
| C || Text || Hybrid || None || Yes || External ([[dzen]]) || || rows, columns || 1-pix borders || || Xlib ||<br />
|-<br />
! [[herbstluftwm]]<br />
| C || Text || Manual || None || Yes || || || rows, columns || 1-pix borders || commands via herbstclient || Xlib and Glib ||<br />
|-<br />
! [[i3]] <br />
| C || Text || Manual || None || Yes || [http://www.archlinux.org/packages/community/i686/i3status/ i3status] with [[dzen]] or xmobar || Yes, with an external manager such as xcompmgr || rows, columns, v-tab, h-tab, max || 2-pix borders, titles || commands via ipc || XCB || n regions<br />
|-<br />
! [[Ion3]] <br />
| C || Lua || Manual || trayion || Yes || configurable || ? || h-tab, max || || || ||<br />
|-<br />
! [[Musca]]<br />
| C || Text, own command set, C(recompile) || Manual || None || No, but allows running of musca commands on the fly || None || No || h-split, v-split, max || || commands, hooks || Xlib ||<br />
|-<br />
! [[Notion]] <br />
| C || Lua, compatible with Ion3 configs || Manual || trayion, stalonetray || Yes || configurable || ? || h-tab, max || Configurable borders and titlebars/tabs || || || "Takes into account changes to the screen topology without needing to restart Notion"<br />
|-<br />
! [[Ratpoison]]<br />
| C || Text || Manual || None || Yes || Yes || Yes, with an external manager such as xcompmgr || max || || || ||<br />
|-<br />
! [[Scrotwm]]<br />
| C || Text || Dynamic || None || Yes || Built-in, reads from user script || No || nv-stack, nh-stack, max || 1-pix borders, no titles || || Xlib || n regions, 10 workspaces visible in any region<br />
|-<br />
! [[Stumpwm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[subtle]]<br />
| C || Ruby || Manual || Built-in || Yes || Built-in (Ruby), external can be used as well || Yes, with an external manager such as xcompmgr || Variable grid || Variable borders, no titles || Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) || Xlib || One workspace (view) per monitor (screen), placement on views via tags and per runtime<br />
|-<br />
! [[WMFS]]<br />
| C || Text || Dynamic || Built-in || Yes || Built-in, set with command, color text, images || May with external manager such as {d,x}compmgr || nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max || variable borders, titles or no titles || commands || Xlib || Up to 36 tags(workspaces) per screen<br />
|-<br />
! [[wmii]]<br />
| C || Anything || Manual || witray || Yes || Built-in || Yes, with an external manager such as xcompmgr || columns, max, v-tab || titles || [http://9p.cat-v.org 9P filesystem] || || one big region<br />
|-<br />
! [[xmonad]]<br />
| Haskell || Haskell || Dynamic || None || Yes || No || Yes, with xmonad-contrib and an external manager || nv-stack, nh-stack, max || variable borders, no titles || via [http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-ServerMode.html XMonad-Hooks-ServerMode] || Xlib || n regions, 9 workspaces visible in any region<br />
|-<br />
|-class="sortbottom"<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|}<br />
<br />
{{Tip|External control can also be achieved by programs like {{Package Official|xdotool}} which simulate keystrokes.}}<br />
<br />
=== Management style ===<br />
Dynamic management emphasizes automatic management of window layouts for speed and simplicity. Manual management emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.<br />
<br />
=== Layouts ===<br />
A number of common layout types appear in several tiling WMs, although the terminology varies somewhat.<br />
* max: one window shown fullscreen (with or without a status bar, title and borders). Aka: monocle (dwm).<br />
* h-stack: master area in top half, other windows stack up horizontally in the bottom half. The master area may be resizable. May be inverted top-bottom (wmfs). Aka: bottom stack (dwm).<br />
* v-stack: master area in left half, other windows stack up vertically in the right half. The master area may be resizable. May be inverted left-right (wmfs). Aka: tile (dwm).<br />
* nh-stack: h-stack allowing >=1 windows in master area. Aka: nbstack (dwm)<br />
* nv-stack: v-stack allowing >=1 windows in master area. Aka: ntile (dwm)<br />
* mirror-h: nh-stack with stacks above and below the master area<br />
* mirror-v: nv-stack with stacks to the left and right of the master area<br />
* h-tab: one window shown fullscreen with all window titles shown horizontally (like browser tabs)<br />
* v-tab: one window shown fullscreen with all window titles shown vertically. Aka: stack (wmii).<br />
* h-split: a keybinding splits the current window horizontally creating space for another<br />
* v-split: a keybinding splits the current window horizontally creating space for another<br />
* columns: manual layout style which treats windows as belonging to vertical columns<br />
* rows: manual layout style which treats windows as belonging to horizontal rows<br />
* grid: window positions and sizes based on a regular NxM grid. May be automatic (like wmfs) or manual (like Subtle).<br />
<br />
=== Key bindings ===<br />
Tiling window managers are usually designed to be used entirely with the keyboard or with keyboard & mouse. This is for speed (reaching for and moving a mouse is slow) and ease of use. Sensible key bindings are crucial to making workflow fast and efficient. Some default sets are better than others, but generally the keys can be rebound as desired by the user.<br />
<br />
== [[Awesome]] ==<br />
[http://awesome.naquadah.org/ awesome] on its own can provide many of the functions of a desktop environment. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.<br />
<br />
== [[catwm]] ==<br />
[[catwm]] is a small window manager, even simpler than dwm, written in C. Configuration is done by modifying the config.h file and recompiling.<br />
<br />
== [[dswm]] ==<br />
[http://sourceforge.net/projects/dswm/ dswm] ([http://aur.archlinux.org/packages.php?ID=47899 AUR]) (Deep Space Window Manager) is an offshoot of [[Stumpwm]].<br />
<br />
== [[dwm]] ==<br />
[http://dwm.suckless.org/ dwm] is one of the simpler window managers. It does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed. It is more lightweight than the others listed here, at the expense of certain features. The program size is already at the self-imposed line limit, restricting further development.<br />
<br />
== [[echinus]] ==<br />
[http://plhk.ru/echinus echinus] ([http://aur.archlinux.org/packages.php?O=0&K=echinus&do_Search=Go AUR]) is a<br />
simple and lightweight tiling and floating window manager for X11. It started as a dwm fork with easier configuration, and became a full-featured reparenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar called [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico].<br />
<br />
== [[euclid-wm]] ==<br />
[http://euclid-wm.sourceforge.net/index.php euclid-wm] ([http://aur.archlinux.org/packages.php?ID=38311 AUR]) is a hybrid manual and automatic window manager, with support for minimizing windows. Simplicity is one of its goals. A text configuration file controls key bindings and settings.<br />
<br />
== [[herbstluftwm]] ==<br />
[http://wwwcip.cs.fau.de/~re06huxa/herbstluftwm/ herbstluftwm] is a manual tiling window manager similar to Musca and i3. It is available from the AUR: {{Package AUR|herbstluftwm-git}}.<br />
<br />
== [[i3]] ==<br />
[http://i3.zekjur.net/ i3] was created because wmii, the authors' favorite window manager at the time, didn’t provide some features they wanted. Notable differences are in the areas of Xinerama and the table metaphor. For speed the Plan 9 interface of wmii is not implemented.<br />
<br />
== [[ion3]] ==<br />
Ion is a tiling window manager with tabbed frames. It uses Lua as an embedded interpreter which handles all of the configuration. It mainly uses the keyboard to access the functions but also supports the mouse for some things.<br />
<br />
== [[Musca]] ==<br />
A simple dynamic window manager for X, with features nicked from ratpoison and dwm:<br />
[http://aerosuidae.net/musca.html Musca] operates as a tiling window manager by default. It uses manual tiling, which means the user determines how the screen is divided into non-overlapping frames, with no restrictions on layout. Application windows always fill their assigned frame, with the exception of transient windows and popup dialog boxes which float above their parent application at the appropriate size. Once visible, applications do not change frames unless so instructed.<br />
<br />
== [[Notion]] ==<br />
[http://notion.sf.net/ Notion] is a tiling, tabbed window manager for the X window system.<br />
*Tiling: you divide the screen into non-overlapping 'tiles'. Every window occupies one tile, and is maximized to it<br />
*Tabbing: a tile may contain multiple windows - they will be 'tabbed'<br />
*Static: most tiled window managers are 'dynamic', meaning they automatically resize and move around tiles as windows appear and disappear. Notion, by contrast, does not automatically change the tiling. <br />
Notion is a fork of Ion3.<br />
<br />
== [[Ratpoison]] ==<br />
[http://www.nongnu.org/ratpoison/ Ratpoison] is configured with a simple text file, as opposed to some of the other tiling window managers which are configured with programming languages. While this reduces flexibility, it can be easier to understand. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray and is quite lightweight.<br />
<br />
== [[Scrotwm]] ==<br />
[http://www.scrotwm.org/ scrotwm] is a small dynamic tiling window manager largely inspired by xmonad and dwm. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration, being configured with a text file. It was written by hackers for hackers and it strives to be small, compact, and fast. It has a built-in status bar fed from a user-defined script.<br />
<br />
== [[Stumpwm]] ==<br />
[http://www.nongnu.org/stumpwm/ Stumpwm] is similar to [[Ratpoison]] but is written and configured completely in Lisp. It can be reconfigured and reloaded while running. As with wmii and Ratpoison, it is a manual window manager. Its information bar can be set to show constantly or only when needed. It does not include a system tray.<br />
<br />
== [[subtle]] ==<br />
[http://subforge.org/projects/subtle subtle] is a tiling window manager with flexible manual layouts based on predefined sizes and positions corresponding by default to 1x2, 2x1, 1x3, 2x2 and 2x3 grid elements. It has workspace tags and automatic client tagging, mouse and keyboard control as well as an extendable statusbar.<br />
<br />
== [[wmfs]] ==<br />
[http://wmfs.info/ WMFS] (Window Manager From Scratch) is a lightweight and highly configurable tiling window manager for X. It can be configured with a configuration file, supports Xft ([http://www.freetype.org/ Freetype]) fonts and is compliant with the Extended Window Manager Hints ([http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html EWMH]) specifications. It's still under heavy development<br />
<br />
== [[wmii]] ==<br />
[http://wmii.suckless.org/ wmii] uses a manual style of management -- the user must manually move windows around. While more work than dynamic management, this also provides more flexibility by default. wmii is configured via a [http://9p.cat-v.org 9P file system], which allows any program that can work with text to configure it. The default configuration is in bash and [http://rc.cat-v.org rc (the Plan 9 shell)], but programs exist written in ruby, for example. It has a status bar and launcher built in, and also an optional system tray ({{Codeline|witray}}).<br />
<br />
== [[xmonad]] ==<br />
[http://xmonad.org/ xmonad] is written in Haskell, and it is configured in Haskell. This allows great flexibility, although this can be confusing at times. No text configuration file has been implemented. For all configuration changes xmonad must be recompiled, so the haskell compiler (over 485MB) must be installed. Compilation normally takes ~2 seconds, and can be done without affecting running programs. XMonad, in itself, is quite simple, but there is a large library called xmonad-contrib which provides many other features. XMonad does not include any utility programs, but others, such as [[dzen]] and [[xmobar]], make it easy to display such things as workspace information. xmonad does not come with an application launcher, but there are modules in xmonad-contrib which provide one, as well as programs like [[dmenu]] and gmrun. There is no system tray, but this can be provided by applications such as stalonetray and trayer.<br />
<br />
== More Resources ==<br />
The forum has a wealth of information about many of the tiling window managers compared here. Some notable threads specific to tilers include:<br />
<br />
=== Tiling WM threads ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57549 The dwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=99064 The i3 thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=67104 The Musca thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=64645 The scrotwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=71783 The subtle thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=110714 The WMFS thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=22592 The wmii thread]<br />
<br />
=== Threads featuring configs & hacks ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=92895 dwm hackers, unite! Share or request patches here!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=304851 dzen and xmobar hacking thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88926 Share your Awesome desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=68622 Share your Ratpoison (experience)]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=112486 Share your Subtle desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=937394 Share your WMFS desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=94969 Share your xmonad desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=74599 Show off your dwm configuration]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=40636 xmonad hacking thread]<br />
<br />
=== Artwork for tilers ===<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57768 dwm wallpapers]</div>Hellomynameisphil