diff options
Diffstat (limited to 'xmonad.hs')
| -rw-r--r-- | xmonad.hs | 171 |
1 files changed, 0 insertions, 171 deletions
@@ -1,172 +1 @@ -import System.Exit - -import XMonad -import qualified XMonad.StackSet as W - -import XMonad.Actions.GridSelect -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 - -import XMonad.Util.ClickableWorkspaces -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.SubLayouts -import XMonad.Layout.Tabbed -import XMonad.Layout.ToggleLayouts -import XMonad.Layout.WindowNavigation - import XMonad.Config.LaNinpre - -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") - - , ("M-s t", namedScratchpadAction myScratchPads "terminal") - , ("M-s c", namedScratchpadAction myScratchPads "calculator") - , ("M-s m", namedScratchpadAction myScratchPads "mocp") - , ("M-s v", namedScratchpadAction myScratchPads "mpvfloat") - - , ("M-g t", goToSelected myGsConfig) - , ("M-g b", bringSelected myGsConfig) - , ("M-g g", mySpawnSelected myGsConfig myAppGrid) - - , ("M-S-c", kill) - , ("M-<Space>", sendMessage NextLayout) - , ("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) - , ("M-S-k", swapUp) - , ("M-m", focusMaster) - , ("M-S-m", windows W.swapMaster) - , ("M-t", withFocused $ windows . W.sink) - , ("M-S-t", sinkAll) - , ("M-<Tab>", toggleWindowSpacingEnabled >> toggleScreenSpacingEnabled) - - , ("M-S-q", io exitSuccess) - , ("M-S-r", spawn "xmonad --recompile && xmonad --restart") - - , ("<XF86AudioPlay>", spawn $ myMocp ++ " -G") - , ("<XF86AudioRaiseVolume>", spawn $ myMocp ++ " -v +5") - , ("<XF86AudioLowerVolume>", spawn $ myMocp ++ " -v -5") - , ("<XF86AudioMute>", spawn $ myMocp ++ " -v 0") - , ("<XF86AudioPrev>", spawn $ myMocp ++ " --previous") - , ("<XF86AudioNext>", spawn $ myMocp ++ " --next") - ] - ++ - [("M-" ++ m ++ show k, windows $ f i) - | (i, k) <- zip myWorkspaces [1..9] - , (f, m) <- [(W.greedyView, ""), (W.shift, "S-")] - ] - -myColorizer :: a -> Bool -> X (String, String) -myColorizer _ active = if active then return (col_bg_alt def, col_fg_alt def) - else return (col_bg def, col_fg def) - -myGsConfig :: GSConfig a -myGsConfig = (buildDefaultGSConfig myColorizer) - { gs_font = head myFonts - , gs_bordercolor = col_bg_alt def - } - -mySpawnSelected :: GSConfig String -> [(String, String)] -> X () -mySpawnSelected conf lst = gridselect conf lst >>= flip whenJust spawn - -myXmobarPP :: PP -myXmobarPP = def - { ppSep = xmobarColor (col_bg_alt def) "" " | " - , ppCurrent = xmobarColor (col_fg_alt def) "" . sitelen - , ppHidden = xmobarColor (col_fg def) "" . sitelen - , ppHiddenNoWindows = xmobarColor (col_bg_alt def) "" . sitelen - , ppLayout = sitelen - } where - sitelen = xmobarFont 3 - -mySB :: StatusBarConfig -mySB = statusBarProp "xmobar" - $ clickablePP $ filterOutWsPP [scratchpadWorkspaceTag] myXmobarPP - -myTabTheme :: Theme -myTabTheme = def - { fontName = head myFonts - , activeTextColor = col_fg_alt def - , activeColor = col_bg_alt def - , activeBorderWidth = 0 - , inactiveTextColor = col_fg def - , inactiveColor = col_bg def - , inactiveBorderWidth = 0 - , urgentTextColor = col_bg_alt def - , urgentColor = col_fg_alt def - , urgentBorderWidth = 0 - } - -myLayout = windowNavigation - $ boringWindows - $ toggleLayouts full - $ smartBorders - $ tiled ||| threeCol - where - tiled = renamed [Replace "\xe624"] -- lawa - $ addTabs shrinkText myTabTheme - $ subLayout [] Simplest - $ spacingWithEdge space $ ResizableTall nmaster delta ratio [] - threeCol = renamed [Replace "\xe665"] -- supa - $ addTabs shrinkText myTabTheme - $ subLayout [] Simplest - $ spacingWithEdge space $ ResizableThreeColMid nmaster delta ratio [] - full = renamed [Replace "\xe663"] -- suli - $ noBorders Full - nmaster = 1 - ratio = 1/2 - delta = 3/100 - space = 4 - -myConfig = def - { terminal = myTerminal - , modMask = myModMask - , layoutHook = myLayout - , manageHook = myManageHook - , workspaces = myWorkspaces - , borderWidth = myBorderWidth - , keys = (`mkKeymap` myKeys) - , normalBorderColor = col_bg_alt def - , focusedBorderColor = col_fg_alt def - , startupHook = return () >> checkKeymap myConfig myKeys - } - -main :: IO () -main = xmonad - . ewmhFullscreen - . ewmh - . withEasySB mySB defToggleStrutsKey - $ myConfig |
