diff options
Diffstat (limited to 'xmonad.hs')
| -rw-r--r-- | xmonad.hs | 53 |
1 files changed, 46 insertions, 7 deletions
@@ -9,6 +9,7 @@ import XMonad.Actions.WithAll import XMonad.Hooks.DynamicLog import XMonad.Hooks.EwmhDesktops +import XMonad.Hooks.ManageDocks import XMonad.Hooks.StatusBar import XMonad.Hooks.StatusBar.PP @@ -17,10 +18,16 @@ import XMonad.Util.EZConfig import XMonad.Util.NamedScratchpad import XMonad.Layout.BoringWindows hiding (Replace) +import XMonad.Layout.NoBorders import XMonad.Layout.Renamed +import XMonad.Layout.ResizableTile +import XMonad.Layout.ResizableThreeColumns +import XMonad.Layout.Simplest import XMonad.Layout.Spacing -import XMonad.Layout.ThreeColumns +import XMonad.Layout.SubLayouts +import XMonad.Layout.Tabbed import XMonad.Layout.ToggleLayouts +import XMonad.Layout.WindowNavigation import LaNinpreConfig @@ -28,6 +35,7 @@ myKeys :: [(String, X ())] myKeys = [ ("M-<Return>", spawn myTerminal) , ("M-w", spawn myBrowser) , ("M-p", spawn "dmenu_run") + , ("M-<Delete>", spawn "slock") , ("<Print>", spawn "scrot_cmd -f") , ("C-<Print>", spawn "scrot_cmd -a") , ("M1-<Print>", spawn "scrot_cmd -w") @@ -43,9 +51,19 @@ myKeys = [ ("M-<Return>", spawn myTerminal) , ("M-S-c", kill) , ("M-<Space>", sendMessage NextLayout) - , ("M-f", sendMessage ToggleLayout) + , ("M-f", sendMessage ToggleLayout >> sendMessage ToggleStruts) , ("M-h", sendMessage Shrink) , ("M-l", sendMessage Expand) + , ("M-C-j", sendMessage MirrorShrink) + , ("M-C-k", sendMessage MirrorExpand) + , ("M-M1-h", sendMessage $ pullGroup L) + , ("M-M1-j", sendMessage $ pullGroup D) + , ("M-M1-k", sendMessage $ pullGroup U) + , ("M-M1-l", sendMessage $ pullGroup R) + , ("M-M1-u", withFocused $ sendMessage . UnMerge) + , ("M-M1-m", withFocused $ sendMessage . UnMergeAll) + , ("M-M1-,", onGroup W.focusDown') + , ("M-M1-.", onGroup W.focusUp') , ("M-j", focusDown) , ("M-k", focusUp) , ("M-S-j", swapDown) @@ -91,15 +109,35 @@ mySB :: StatusBarConfig mySB = statusBarProp "xmobar" $ clickablePP $ filterOutWsPP [scratchpadWorkspaceTag] myXmobarPP -myLayout = boringWindows +myTabTheme :: Theme +myTabTheme = def + { fontName = head myFonts + , activeTextColor = col_fg_alt def + , activeColor = col_bg_alt def + , activeBorderWidth = myBorderWidth + , inactiveTextColor = col_fg def + , inactiveColor = col_bg def + , inactiveBorderWidth = myBorderWidth + , urgentTextColor = col_bg_alt def + , urgentColor = col_fg_alt def + , urgentBorderWidth = myBorderWidth + } + +myLayout = windowNavigation + $ boringWindows $ toggleLayouts full + $ smartBorders $ tiled ||| threeCol where tiled = renamed [Replace "lawa"] - $ spacingWithEdge space $ Tall nmaster delta ratio + $ addTabs shrinkText myTabTheme + $ subLayout [] (Simplest) + $ spacingWithEdge space $ ResizableTall nmaster delta ratio [] threeCol = renamed [Replace "supa"] - $ spacingWithEdge space $ ThreeColMid nmaster delta ratio - full = renamed [Replace "suli"] $ Full + $ addTabs shrinkText myTabTheme + $ subLayout [] (Simplest) + $ spacingWithEdge space $ ResizableThreeColMid nmaster delta ratio [] + full = renamed [Replace "suli"] $ noBorders Full nmaster = 1 ratio = 1/2 delta = 3/100 @@ -109,12 +147,13 @@ myConfig = def { terminal = myTerminal , modMask = myModMask , layoutHook = myLayout - , manageHook = myManageHook <+> namedScratchpadManageHook myScratchPads + , manageHook = myManageHook , workspaces = myWorkspaces , borderWidth = myBorderWidth , keys = const M.empty -- discard default keybindings , normalBorderColor = col_bg def , focusedBorderColor = col_bg_alt def + , startupHook = return () >> checkKeymap myConfig myKeys } `additionalKeysP` myKeys main :: IO () |
