Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import XMonad
- import qualified XMonad.StackSet as W
- import qualified Data.Map as M
- import System.IO
- import Data.Ratio ((%))
- -- Utilities
- import XMonad.Util.Run (spawnPipe)
- import XMonad.Util.EZConfig
- import XMonad.Util.CustomKeys
- -- Hooks
- import XMonad.Hooks.ManageDocks
- import XMonad.Hooks.DynamicLog
- import XMonad.Hooks.ManageHelpers
- import XMonad.Hooks.UrgencyHook
- -- Layout
- import XMonad.Layout.IM
- import XMonad.Layout.Reflect
- import XMonad.Layout.NoBorders
- import XMonad.Layout.ResizableTile
- import XMonad.Layout.PerWorkspace
- import XMonad.Layout.ThreeColumns
- import XMonad.Layout.Spacing
- -- Workspaces
- myWorkspaces = ["1:Shells","2:Shells-2","3:Web","4:Mail","5:Docs Work","6:Web-Work","7:Media","8:File-Man","9:Minimise"]
- myLayout = spacing 2 $ ( tiled ||| Mirror tiled ||| ThreeCol 1 (3/100) (1/2) ||| ThreeColMid 1 (3/100) (7/11) ||| Full )
- where
- -- default tiling algorithm partitions the screen into two panes
- tiled = Tall nmaster delta ratio
- -- The default number of windows in the master pane
- nmaster = 1
- -- Default proportion of screen occupied by master pane
- ratio = 1/2
- -- Percent of screen to increment by when resizing panes
- delta = 3/100
- myManage = composeAll
- [ className =? "File Operation Progress" --> doFloat
- , resource =? "desktop_window" --> doIgnore
- , className =? "xfce4-notifyd" --> doIgnore
- , className =? "Shotwell" --> doShift "5:graphic"
- , className =? "Gimp" --> doShift "5:graphic"
- , className =? "Totem" --> doShift "7:media"
- , isFullscreen --> doFullFloat
- ]
- myLogHook dest = dynamicLogWithPP defaultPP { ppOutput = hPutStrLn dest
- ,ppVisible = wrap "(" ")"
- }
- myKeys =
- [ ((mod4Mask, xK_m), spawn "dmenu_run")
- ]
- --newKeys x = M.union (keys defaultConfig x) (M.fromList (myKeys x))
- main = do
- xmproc <- spawnPipe"/usr/bin/xmobar /home/llawwehttam/.xmobarrc"
- spawn "xcompmgr -Cf"
- xmonad $ defaultConfig
- {
- terminal = "urxvt"
- , manageHook = manageDocks <+> myManage <+> manageHook defaultConfig
- , layoutHook = avoidStruts $ layoutHook defaultConfig { layoutHook = myLayout }
- , logHook = myLogHook xmproc
- , modMask = mod4Mask
- , workspaces = myWorkspaces
- , borderWidth = 1
- , normalBorderColor = "#abc123"
- , focusedBorderColor = "#456def"
- }
- `additionalKeys` myKeys
Add Comment
Please, Sign In to add comment