Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import Data.Ratio ((%))
  2. import XMonad
  3. import System.IO
  4.  
  5. import XMonad.Hooks.ManageHelpers
  6. import XMonad.Hooks.ManageDocks
  7. import XMonad.Util.EZConfig (additionalKeys, additionalMouseBindings,
  8.                      removeMouseBindings, removeKeys)
  9.  
  10. import XMonad.Layout.Monitor
  11. import XMonad.Layout.LayoutModifier
  12. import XMonad.Layout.NoBorders
  13. import XMonad.Layout.PerWorkspace (onWorkspace, onWorkspaces)
  14. import XMonad.Layout.SimpleFloat
  15. import XMonad.Layout.ShowWName
  16. import XMonad.Layout.HintedGrid
  17. import XMonad.Actions.Promote
  18. import qualified XMonad.Actions.FlexibleManipulate as Flex
  19. import XMonad.Actions.RotSlaves
  20. import XMonad.Actions.CycleWS
  21. import qualified XMonad.StackSet as W
  22.  
  23. clock = monitor {
  24.      prop = ClassName "trayer"
  25.    , rect = Rectangle 0 0 1 1
  26.    , persistent = True
  27.    , visible = False
  28.    , name = "trayer"
  29.    }
  30.  
  31. customLayout = ModifiedLayout clock
  32. --  $ smartBorders
  33.     $ showWName
  34.     $ onWorkspace "a" tiled
  35.         $ Full ||| Mirror tiled ||| tiled
  36.   where
  37.      tiled  = Tall 1 (5 % 100) (3 % 4)
  38.  
  39. myWorkspaces = [c:"" | c<-"aoeuidhtns"]
  40. main = do
  41.     xmonad $ defaultConfig
  42.         { borderWidth = 2
  43.         , terminal = "urxvt"
  44.         , normalBorderColor = "#cccccc"
  45.         , focusedBorderColor = "#cd8b00"
  46.     , modMask = mod4Mask
  47.     , manageHook = composeAll
  48.       [ resource =? "trayer" --> doIgnore
  49.           , title =? "Keyboard" --> doIgnore
  50. --    , className =? "Gimp" --> doFloat
  51.       ] <+> manageMonitor clock <+> manageHook defaultConfig
  52.         , layoutHook = customLayout
  53.         , workspaces = myWorkspaces
  54.     } `additionalKeys`
  55.     [ ((mod4Mask, xK_l), broadcastMessage (ToggleMonitorNamed "trayer") >> refresh)
  56.         , ((mod4Mask, xK_p), sendMessage Shrink)
  57.         , ((mod4Mask, xK_y), sendMessage Expand)
  58.         , ((mod4Mask, xK_g), spawn "dmenu_run")
  59.  
  60.         , ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
  61.     , ((0, xK_Print), spawn "scrot")
  62.     , ((mod4Mask, xK_F11), spawn "showflash.sh")
  63.     , ((mod4Mask, xK_F12), spawn "gnome-screensaver-command --lock")
  64.     , ((mod4Mask, xK_Tab), promote)
  65. --  , ((mod4Mask .|. shiftMask, xK_Tab), rotSlavesUp)
  66.  
  67.         , ((mod4Mask, xK_b), sendMessage ToggleStruts)
  68.         , ((mod4Mask, xK_z), nextScreen)
  69.         , ((mod4Mask, xK_v), withFocused $ windows . W.sink)
  70.         ]
  71.         `additionalKeys`
  72.         -- mod-[1..9] %! Switch to workspace N
  73.         -- mod-shift-[1..9] %! Move client to workspace N
  74.         [((m .|. mod4Mask, k), windows $ f i)
  75.                 | (i, k) <- zip myWorkspaces [xK_a, xK_o, xK_e, xK_u, xK_i, xK_d, xK_h, xK_t, xK_n, xK_s]
  76.                 , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
  77.         `additionalMouseBindings`
  78.     [ ((mod4Mask, button1), (\w -> focus w >> Flex.mouseWindow Flex.discrete w))
  79.     ] `removeMouseBindings`
  80.     [ (mod4Mask, button3)
  81.     ] -- `removeKeys`
  82. --  [ (mod4Mask, xK_Tab)
  83. --  ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement