Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----------------------------------
- -- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement