aboutsummaryrefslogtreecommitdiffstats
path: root/xmonad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'xmonad.hs')
-rw-r--r--xmonad.hs171
1 files changed, 0 insertions, 171 deletions
diff --git a/xmonad.hs b/xmonad.hs
index 282e295..e407c68 100644
--- a/xmonad.hs
+++ b/xmonad.hs
@@ -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