--- Xmonad configuration file.
+-- XMonad configuration file.
import XMonad
import XMonad.Layout.Reflect
-- Necessary for avoidMaster.
import qualified XMonad.StackSet as W
+-- Necessary for smartBorders.
+import XMonad.Layout.NoBorders
-- Prevent new windows from spawning in the master pane. Taken from
--
-- The master pane is at the bottom of the screen (reflectVert). To make sure
-- new windows don't spawn in the master pane avoidMaster (see below) is used.
+-- Borders are only drawn when the screen has more then one window
+-- (smartBorders).
--
-- Thanks to jrick in #xmonad on Freenode (2009-06-29 22:19) for telling me
-- how to remove the vertical tiled layout.
-myLayoutHook = reflectVert $ Mirror tiled ||| Full
+myLayoutHook = smartBorders $ reflectVert $ Mirror tiled ||| Full
where
-- Default tiling algorithm partitions the screen into two panes.
tiled = Tall nmaster delta ratio
-- Don't spawn new windows in the master pane (which is now at the bottom of
-- the screen). Thanks to dschoepe, aavogt and especially vav in #xmonad on
-- Freenode (2009-06-30 02:10f).
-myManageHook = doF avoidMaster
+--
+-- Also some applications are spawned on specific workspaces. Thanks to
+-- dschoepe and ivanm in #xmonad on Freenode (2009-07-12 14:50).
+myManageHook = composeAll
+ [ className =? "Iceweasel" --> doF (W.shift "2")
+ , className =? "Wireshark" --> doF (W.shift "3")
+ ] <+> doF avoidMaster
main = xmonad $ defaultConfig
-- Use Windows key as main key so it doesn't conflict with any other key