myManageHook = composeAll . concat $ [ [className =? "Minefield" --> moveTo "web"] , [className =? "MPlayer" --> doFullFloat] , [className =? "Gwenview" --> doFullFloat] , [className =? "Okular" --> doFullFloat] , [className =? "Valknut" --> moveTo "mics"] , [className =? "Uzbl" --> moveTo "mics"] , [className =? "Krusader" --> moveTo "work"] , [className =? "Dolphin" --> moveTo "work"] , [className =? "Dialog" --> doFloat] , [className =? "Zenity" --> doFloat] , [className =? "Dolphin" --> doFloat] , [className =? "Vlc" --> doFloat] , [resource =? "uzbl" --> doF W.focusDown] , [resource =? "stalonetray" --> doIgnore] , [role =? "Dolphin#1" --> unfloat] , [role =? "composer" --> doFloat] , [title =? "Add-ons" --> doFloat] , [title =? "Downloads" --> doFloat] , [propertyToQuery onIM --> moveTo "chat"] , [fmap ( i `isInfixOf`) title --> doFloat | i <- myMatchAnywhereFloatsT ]] where unfloat = ask >>= doF . W.sink moveTo = doF . W.shift onIM = anyClass ["Qutim", "Gajim.py", "Psi", "Kopete"] myMatchAnywhereFloatsT = ["Copying", "Moving", "Deleting"]