tiling_wms(42) Language: English

Comparison of tiling window managers

----------------------------------------------------------------------[ Meta ]--

name		tiling_wms
section		42
description	Comparison of tiling window managers
tags		note maem
encoding	utf8
compliance	informal
lang		en
creation	2014/03/03 22:15:14
expires		2017
copyright	Copyright (c) 2014 Ma_Sys.ma.
		For further info send an e-mail to Ma_Sys.ma@web.de

------------------------------------------------------------------[ Overview ]--

 * spectrwm(https://github.com/conformal/spectrwm/wiki) 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(https://i3wm.org/)
    + 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(http://herbstluftwm.org/)
    + 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(https://stumpwm.github.io)
    + intersting concept ``frames'' and ``windows''
      (probably more static/reliable layout than i3)
 * xmonad(http://xmonad.org/)
    - Haskell => difficult to compile and run, in wheezy
 * qtile(http://qtile.org/)
    - written in python
 * awesome(http://awesome.naquadah.org/)
    + in wheezy
    - known to be heavy on resources
    - no stacking mode
    - master area concept
 * bspwm(https://github.com/baskerville/bspwm#bspwm1)
    + manual and automatic modes
    - Reddit(https://www.reddit.com/r/archlinux/comments/21vupw/
      can_someone_explain_in_plain_english_the/) says it is just less features
      than herbstluftwm
 * echnius(http://plhk.ru/)
    + better dwm
    - ``New windows are placed in the master area in tiling mode''
      Is that really negative?
    - too automatic?


-------------------------------------------------------------[ Test parcours ]--

 01. Get to run the window manager on Debian S
 02. Scan the manpage / documentation (no manpage => bad) S
 03. Start a terminal x4 S
 04. Start a web browser to take 1/2 screen S
 05. Start mail client fullscreen on the second screen S
 06. Start maem and hide it in background S
 07. close two of the terminals S
 08. bring maem to foreground, display note while browsing. S
 09. 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

 * spectrwm _TESTED_ _DISMISSED_
 * i3 _TESTED_ _OK_
 * awesome

------------------------------------------------------------------[ Spectrwm ]--

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(http://awesome.naquadah.org/) in wheezy
 * bspwm(https://github.com/baskerville/bspwm#bspwm1)
 * qtile(http://qtile.org/)
 * euclid-wm (track-organized management)
 * herbstluftwm (a better euclid-wm)
 * i3 (in wheezy)

------------------------------------------------------------------------[ i3 ]--

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