Xmonad
Xmonad è un Tiling WM di tipo dinamico, il che significa che adatta automaticamente il layout a seconda delle finestre che si aprono o si chiudono durante l'utilizzo. Al contrario di Ion, che di default posiziona le finestre all'interno dei riquadri già esistenti, Xmonad apre le finestre in nuovi frame e, per fare spazio a questi, ridimensiona le finestre già esistenti. In entrambi i casi sono comportamenti che possono essere modificati, ma in Xmonad la gestione dinamica è prevista nel core ed è quindi più semplice gestirla.
Supporta molto bene Xinerama rendendo possibile, caratteristica tanto preziosa quanto rara sia nei WM tiling che in quelli tradizionali, lo switch del desktop in maniera indipendente su ognuno dei monitor.
Analogamente ad Ion, Xmonad è personalizzabile in maniera praticamente totale grazie all'architettura estensibile tramite semplici script: a patto di prendere confidenza con Haskell, le possibilità sono infinite.
In attesa di poter diventare un guru di Haskell si può procedere comunque a realizzarsi un certo livello di personalizzazione del comportamento utilizzando le configurazioni già realizzate e messe a disposizione dalla community e apportandovi modifiche a proprio piacimento.
il mio obiettivo è quello di replicare, nei limiti del possibile, il comportamento e soprattutto l'interfaccia dei comandi che ho utilizzato con Ion3 per parecchio tempo.
Screenshot

Shotcut Keys
~/.xmonad$ cat xmonad.hs |grep \- |grep + -- It gives you 10 workspaces, available through Alt+F1..F10. You can move -- windows to a workspace with Win+F1..F10 (and you will automatically switch -- Win+F1..F10 switch to workspace -- Ctrl+Alt+Left/Right switch to previous/next workspace -- Alt+ScrollUp/Down move focused window up/down -- Alt+LMB move floating window -- Alt+MMB resize floating window -- Alt+RMB unfloat floating window -- Win+Space cycle layouts -- Win+R open the Gnome run dialog -- Ctrl+F12 restart XMonad -- Ctrl+Shift+F12 exit XMonad -- KB: Alt+F5 start a terminal -- KB: Alt+F3 gvim -- KB: Alt+F2 run -- KB: Alt+Win+F4 close window -- KB: Alt+F5 start a terminal -- KB: Alt+F6 start rox filer -- Ctrl+F12 restart XMonad -- Ctrl+Shift+F12 exit XMonad -- Win+Space cycle layouts -- Win+Shift+R refresh the current window -- Win+Home move window to master area -- Alt+Tab focus next window -- Alt+Shift+Tab focus previous window -- Win+Alt+j/k move window up/down -- Win+Alt+h/l shrink/expand master area -- Win+T unfloat floating window -- Win+Alt+ +/- move more/less windows into master area -- Ctrl+Alt+h/l switch to previous/next workspace -- Ctrl+Win+Shift+h/l move window to previous/next workspace -- Win+Control+h/j/k/l join subLayout in that direction -- Win+Control+M merge all windows in one SubLayout -- Win+Control+U unmerge focused window -- Win+Control+./, focus next/previous windows in a SubLayout -- Win+F1..F10 switches to workspace -- Win+Shift+F1..F10 moves window to workspace and switches to that workspaceConfigurazione
Note
FAQ: http://haskell.org/haskellwiki/Xmonad/Frequently_asked_questions
General config tips: http://www.haskell.org/haskellwiki/Xmonad/General_xmonad.hs_config_tips
PPA: https://launchpad.net/~justinbogner/+archive/ppa
Linkografia
Due parole di introduzione ad Haskell e Xmonad