---------------------------------- -- Import ---------------------------------- import System.Posix.Unistd import XMonad import XMonad.Actions.GridSelect import XMonad.Hooks.DynamicLog import XMonad.Hooks.EwmhDesktops import XMonad.Hooks.ManageDocks import XMonad.Layout import XMonad.Layout.LayoutHints import XMonad.Layout.MouseResizableTile import XMonad.Layout.NoBorders import XMonad.Layout.NoFrillsDecoration import XMonad.Layout.ShowWName import XMonad.Layout.Tabbed import XMonad.Prompt import XMonad.Prompt.Shell import XMonad.Prompt.Workspace import XMonad.Prompt.XMonad import XMonad.Util.EZConfig import XMonad.Util.Run ---------------------------------- -- Main ---------------------------------- main = do spawn myTerminal xmonad $ ewmh defaultConfig { borderWidth = myBorderWidth , terminal = myTerminal , modMask = myModMask , focusedBorderColor = myFocusedBorderColor , normalBorderColor = myNormalBorderColor , layoutHook = myLayoutHook , manageHook = newManageHook , workspaces = myWorkspaces } `additionalKeys` [ ((myModMask, xK_b), spawn myStatusBar) , ((myModMask .|. shiftMask, xK_b), sendMessage ToggleStruts) , ((myModMask, xK_c), spawn myBrowserSelector) , ((myModMask, xK_d), spawn myWorkspaceSelector) -- , ((myModMask .|. shiftMask, xK_d), workspacePrompt myXPConfig (windows . W.shift)) , ((myModMask, xK_g), goToSelected myGSConfig) , ((myModMask, xK_p), shellPrompt myXPConfig) , ((myModMask .|. shiftMask, xK_p), xmonadPrompt myXPConfig) , ((myModMask, xK_w), spawn myWindowSelector) , ((myModMask, xK_x), spawn myDmenuRun) , ((myModMask .|. controlMask, xK_Return), spawn "x-terminal-emulator -e 2menu") ] ---------------------------------- -- Settings and hooks ---------------------------------- myBorderWidth = 1 myTerminal = "x-terminal-emulator" myModMask = mod4Mask myFocusedBorderColor = "#ffffff" myNormalBorderColor = "#303030" myLayoutHook = showWName' mySWNConfig (avoidStruts $ layoutHintsWithPlacement (0.5,0) (noBorders (tabbed shrinkText myTabConfig) ||| noFrillsDeco shrinkText myTabConfig (mouseResizableTile ||| noBorders Full))) ||| noBorders Full myManageHook = composeAll [ className =? "Chromium" --> doShift "myWS2" , className =? "Conky" --> doFloat , className =? "Jumanji" --> doShift "myWS2" , className =? "Midori" --> doShift "myWS2" , className =? "Tilda" --> doFloat , className =? "Zenity" --> doFloat ] newManageHook = manageDocks <+> myManageHook myWorkspaces = [myWS1,myWS2,myWS3,myWS4,myWS5] where myWS1 = "t3rm" myWS2 = "web" myWS3 = "3hree" myWS4 = "fuzz" myWS5 = "5ive" ---------------------------------- -- Themes and stuff ---------------------------------- -- Gridselect theme options myGSConfig = defaultGSConfig { gs_cellheight = 50 , gs_cellwidth = 150 , gs_font = "xft:" ++ myDmenuFont } -- Show Workspace Name options mySWNConfig = defaultSWNConfig { swn_font = "xft:" ++ myDmenuFontFamily ++ "-24:bold" , swn_bgcolor = myDmenuColor1 , swn_color = myDmenuColor2 , swn_fade = 0.3 } -- Tab theme options myTabConfig = defaultTheme { activeColor = myActiveColor , inactiveColor = myInactiveColor , urgentColor = myUrgentColor , activeBorderColor = myActiveTabBorderColor , inactiveBorderColor = myInactiveTabBorderColor , urgentBorderColor = myUrgentTabBorderColor , activeTextColor = myActiveTextColor , inactiveTextColor = myInactiveTextColor , urgentTextColor = myUrgentTextColor , fontName = "xft:" ++ myFontName , decoHeight = myDecoHeight } myActiveColor = "#202020" myInactiveColor = "#111111" myUrgentColor = "#ff0000" myActiveTabBorderColor = "#303030" myInactiveTabBorderColor = "#000000" myUrgentTabBorderColor = "#ffffff" myActiveTextColor = "#00ff00" myInactiveTextColor = "#007700" myUrgentTextColor = "#ffffff" myFontName = "snap" myDecoHeight = 13 -- Prompt config myXPConfig = defaultXPConfig { font = myFontName , bgColor = myActiveColor , fgColor = myActiveTextColor , fgHLight = myActiveColor , bgHLight = myActiveTextColor , borderColor = myActiveTabBorderColor , height = myDecoHeight } -- Theme settings for d{zen2,menu} myDmenuFontFamily = "Sony Sketch EF" myDmenuFontSize = "12" myDmenuFontStyle = "" myDmenuFont = myDmenuFontFamily ++ "-" ++ myDmenuFontSize ++ myDmenuFontStyle myDmenuColor1 = myActiveColor myDmenuColor2 = myActiveTextColor myDmenuOptions = "-b -fn '" ++ myDmenuFont ++ "' -i -nb '" ++ myDmenuColor1 ++ "' -nf '" ++ myDmenuColor2 ++ "' -sb '" ++ myDmenuColor2 ++ "' -sf '" ++ myDmenuColor1 ++ "'" myBrowserSelector = "choosebrwsr2 -p 'Choose a browser:' " ++ myDmenuOptions myDmenuRun = "dmenu_run -p 'Run:' " ++ myDmenuOptions myStatusBar = "xmonad-status -bg '#000000' -fn '" ++ myFontName ++ "' -y 587 -h 13" myWindowSelector = "dtask -p 'Choose a window:' " ++ myDmenuOptions myWorkspaceSelector = "ddesk -p 'Choose a workspace:' " ++ myDmenuOptions