X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=xmonad.hs;h=48d30bb4babcbb40d3ef467e6f259b22c6d89b15;hb=6cbf000ab407abde66f4775f23f804acca69feb2;hp=a09b826818e6dc671a372d2e82232edc05c96eb2;hpb=f34eaa9dbc15bb037938b551e012a6daa1d54f47;p=config%2Fdotfiles.git diff --git a/xmonad.hs b/xmonad.hs index a09b826..48d30bb 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -16,6 +16,8 @@ import XMonad.Layout.NoBorders import XMonad.Hooks.ManageHelpers -- Necessary for `additionalKeys`. import XMonad.Util.EZConfig +-- Necessary for setWMName. +import XMonad.Hooks.SetWMName -- Prevent new windows from spawning in the master pane. Taken from @@ -60,8 +62,15 @@ myLayoutHook = toggleLayouts tiled $ smartBorders $ Mirror tiled ||| Full -- Also some applications are spawned on specific workspaces. Thanks to -- dschoepe and ivanm in #xmonad on Freenode (2009-07-12 14:50). myManageHook = composeOne - [ className =? "Iceweasel" -?> doF (W.shift "2") - , className =? "Wireshark" -?> doF (W.shift "3") + -- Browser on "2". + [ className =? "Iceweasel" -?> doF (W.shift "2") + -- Miscellaneous on "3". + , className =? "Wireshark" -?> doF (W.shift "3") + , title =? "OpenOffice.org" -?> doF (W.shift "3") -- splash screen + , className =? "OpenOffice.org 2.4" -?> doF (W.shift "3") + , className =? "Vncviewer" -?> doF (W.shift "3") + -- Wine on "4". + , className =? "Wine" -?> doF (W.shift "4") -- Don't span new windows in the master pane. , return True -?> doF avoidMaster @@ -76,6 +85,20 @@ myKeys = [ -- toggleLayouts above. ((mod4Mask, xK_v), sendMessage ToggleLayout) ] + ++ + -- When using multiple screens, switching to another workspace causes + -- Xmonad to pull the workspace to the current screen if it was also + -- displayed on another one. This is confusing for me so the following + -- code changes it to just switch to the screen where the workspace is + -- already displayed. + -- + -- Thanks to the Xmonad FAQ, read on 2010-06-16 13:42 + -- (http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions). + -- Thanks to MrElendig in #xmonad on Freenode (2010-06-17 17:16) to use + -- the default XMonad workspaces. + [((m .|. mod4Mask, k), windows $ f i) + | (i, k) <- zip (XMonad.workspaces defaultConfig) [xK_1 .. xK_9] + , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] main = xmonad $ defaultConfig -- Use Windows key as main key so it doesn't conflict with any other key @@ -90,6 +113,8 @@ main = xmonad $ defaultConfig , manageHook = myManageHook -- Use unicode rxvt as my terminal. , terminal = "urxvt" + -- Necessary for java so it recognizes XMonad as tiling window manager. + , startupHook = setWMName "LG3D" } `additionalKeys` myKeys