tiling_wms(42) Language: English

Comparison of tiling window managers


  • spectrwm in wheezy
    • tested for some time and is pretty useable although a bit too minimal in some aspects
    • in Debian
    • master area concept found to be a bit too simple of a solution for window management... thus a negative point
  • i3
    • tested for a long time and is very good
    • very fast in tiling mode
    • modes like resize mode (can even by defined in any way wanted ☺ )
    • in Debian
    • quite some quirks necessary to get i3bar to output something useful... but possible ☺
    • a bit slow in floating mode (like when moving games' windows)
    • windows resize whenever new ones are created – it might be interesting to also compare this with a window manager which provides a more safe/static layout
    • and moving windows within the tree is not all that intuitive
  • herbstluftwm
    • can do a lot of things
    • simple dump and restore layout
    • in wheezy and upwards
    • performance probably slower than i3 (still, it is pseudo-C++ and thus should be pretty fast)
  • stumpwm
    • intersting concept frames and windows (probably more static/reliable layout than i3)
  • xmonad
    • Haskell ⇒ difficult to compile and run, in wheezy
  • qtile
    • written in python
  • awesome
    • in wheezy
    • known to be heavy on resources
    • no stacking mode
    • master area concept
  • bspwm
    • manual and automatic modes
    • Reddit says it is just less features than herbstluftwm
  • echnius
    • better dwm
    • New windows are placed in the master area in tiling mode Is that really negative?
    • too automatic?


Test parcours

  1. Get to run the window manager on Debian S
  2. Scan the manpage / documentation (no manpage ⇒ bad) S
  3. Start a terminal x4 S
  4. Start a web browser to take 1/2 screen S
  5. Start mail client fullscreen on the second screen S
  6. Start maem and hide it in background S
  7. close two of the terminals S
  8. bring maem to foreground, display note while browsing. S
  9. switch from browser to note and vice versa S
  10. Open file manger S
  11. Check the behaviour for öt and ö3 et cetera. S
  12. Run d3 (fixed window size)
  13. run conky S
  14. run gimp beside three terminals S

Also do some everyday tasks – best try to do something you are just working on anyway.

  • i3 TESTED OK
  • awesome


Looks good but has very few features. Is that sufficient?

TODO These notes are about the transition → move to different note

We need to change
  1. ma_infobg not to use space_dapp and xcompmgr anymore ⇒ how to keep fluxbox compatibility? or will it not be kept? add environment variable to start space_dapp on demand (but no xcompmgr) ⇒ rewrite in the long run
  2. ma_genconkyconf not to generate big information anymore and own_window to no (test this w/ fluxbox as well, fluxbox + regions?) ⇒ backup big information generation parts as configuration_obsolete_no_del also w/ xdm configuration
  3. remove xdm and configure bashrc to startx on terminal1 by default. Make sure your users do not beat you for this (make use of apt-listchanges etc.). also, give some nice message upon login etc.
  4. configure another window manager as good fallback (incl. conky, autorun etc.) either fluxbox or icewm / Which is easier to manage as a fallback?
  5. Make mdvl-base-minimal depend on the two window managers
  6. Remove Update-alternatives remove x-session-manager because it won't be needed anymore. Configure x-window-manager to point to the proper window manager depending on the hostname.
  7. CHG wine height from 1375 to 1391 (xwininfo helps here)
We need to find out
  • How to use wmctrl properly
  • How to run games full screen w/o the rest becoming full screen (N_POSS)
  • status bar clock does not look that nice
  • focus is messy (we want lazy focus model)
    • upstream has a focus manual option
  • regions need to be manually configured (use xrandr + shell to solve this)
  • windows which change their size are not adjusted (Wine, D3)
  • MAEM b nn is defunct (need to export special variable?) (solved)
  • ma_multiseat is defunct
  • Spectrwm does not like games (need to manually adjust window size and such)
  • It is required to configure regions to operate w/ a graphical conky.

New issues

Having used Spectrwm for a while it seems necessary to look for some alternatives because the following issues have become apparent

  • Status bar still not that good
  • Focus sometimes messy (really annoying!)
  • Window size changing and interleaving tiling and stacking is problematic
  • The automatic management is too simple – it could be improved by dividing the space less fair and giving some windows more and some less space
    • This might not be the WM's fault but could be related to the user not taking advantage of suitable controls. Also, the default layout could be adapted to work better concerning this issue.

Therefore the alternatives should be considered again

  • awesome in wheezy
  • bspwm
  • qtile
  • euclid-wm (track-organized management)
  • herbstluftwm (a better euclid-wm)
  • i3 (in wheezy)


i3 does manual tiling instead of automatic tiling. Still, unlike in ratpoison there is no static layout new windows have to fit but instead the current window is split according to the last split method used. i3 supports horizontal and vertical splits as well as tabbing .

We need to change
  • Keys for horizontal and vertical splits OK
  • Add autostart OK
  • Use variables in conffile OK
  • normal fonts instead of bold fonts OK
  • red or gray colors for titles instead of blue ones OK
  • Gimp needs to be stacked. (no it does not ☺ )
We need to find out
  • How to make ncurses applications resize properly on window size change. This could be releated to the terminal emulator ⇒ check with urxvt, st?. just about the same behaviour than with any other tiling wm, st is the same!
  • How to get to run conky as alternative to i3bar. Change configuration as follows: add own_window yes, own_window_type panel, … OK
  • How to minimize and restore windows (might need to crate minimized workspace) / seems not to be possible part. fail

Also a keyboard cheat sheet (like for spectrwm) should be created. Printing the conffile was sufficient.

Zum Seitenanfang