X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=xmonad.hs;h=c59bc53dce2e26d0220e6e39aecebd637541431f;hb=de6ac09ffa6988d0b59d6d10c52eccfbe40bb0e1;hp=e73e1c56debe1f6ff528bbc47212e4f8efd0499b;hpb=9b2c4754a6c0a671faf806c0292f36f33cfa780f;p=config%2Fdotfiles.git diff --git a/xmonad.hs b/xmonad.hs index e73e1c5..c59bc53 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -16,6 +16,10 @@ import XMonad.Layout.NoBorders import XMonad.Hooks.ManageHelpers -- Necessary for `additionalKeys`. import XMonad.Util.EZConfig +-- Necessary for setWMName. +import XMonad.Hooks.SetWMName +-- Necessary for toggleWS. +import XMonad.Actions.CycleWS -- Prevent new windows from spawning in the master pane. Taken from @@ -60,10 +64,17 @@ 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. + -- Don't spawn new windows in the master pane. , return True -?> doF avoidMaster -- Prevent windows which get moved to other workspaces from removing the -- focus of the currently selected window. Thanks to vav in #xmonad on @@ -71,13 +82,13 @@ myManageHook = composeOne , return True -?> doF W.focusDown ] --- My workspaces, same as default ones. Used below in myKeys. -myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9"] - myKeys = [ -- Switch to additional layout (vertical tiled) defined by -- toggleLayouts above. ((mod4Mask, xK_v), sendMessage ToggleLayout) + -- Switch to last active workspace, thanks to moljac024 in #xmonad on + -- Freenode (2010-12-18 14:45). + , ((mod4Mask, xK_f), toggleWS) ] ++ -- When using multiple screens, switching to another workspace causes @@ -88,23 +99,27 @@ myKeys = [ -- -- 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 myWorkspaces [xK_1 .. xK_9] + | (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 + -- Use Windows key as main key as it doesn't conflict with any other key -- bindings. { modMask = mod4Mask -- Inactive borders are black - invisible on my black screen. , normalBorderColor = "#000000" - -- Active border is dark red. + -- Active borders are dark red. , focusedBorderColor = "#990000" -- Use my layout and manage hooks (see above). , layoutHook = myLayoutHook , 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