Guest User

Untitled

a guest
Jan 18th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. --
  2. -- ~/.xmonad/xmonad.hs
  3. --
  4.  
  5. import XMonad
  6. import XMonad.Actions.Plane
  7. import XMonad.Actions.UpdatePointer
  8. import XMonad.Config.Desktop (desktopLayoutModifiers)
  9. import XMonad.Config.Gnome
  10. import XMonad.Hooks.ManageHelpers
  11. import XMonad.Layout.Grid
  12. import XMonad.Layout.IM
  13. import XMonad.Layout.NoBorders
  14. import XMonad.Layout.PerWorkspace
  15. import XMonad.Layout.Reflect
  16. import XMonad.Layout.ResizableTile
  17. import XMonad.Layout.Spacing
  18. import XMonad.Layout.StackTile
  19. import XMonad.Layout.Tabbed
  20. import XMonad.Util.EZConfig
  21. import qualified Data.Map as M
  22. import qualified XMonad.StackSet as W
  23.  
  24. myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
  25.  
  26. myLayoutHook = smartBorders
  27. $ desktopLayoutModifiers
  28. $ onWorkspace "8" skypeLayout
  29. $ onWorkspace "9" pidginLayout
  30. $ ResizableTall 1 (3/100) (1/2) []
  31. ||| Mirror (ResizableTall 1 (3/100) (1/2) [])
  32. ||| StackTile 1 (3/100) (1/2)
  33. ||| simpleTabbed
  34. ||| Full
  35. where
  36. skypeLayout = reflectHoriz
  37. $ withIM (0.18) (ClassName "Skype"
  38. `And` (Not (Role "Chats"))
  39. `And` (Not (Title "Options"))
  40. `And` (Not (Role "CallWindowForm"))) Grid
  41. pidginLayout = reflectHoriz
  42. $ withIM (0.18) (ClassName "Pidgin"
  43. `And` (Role "buddy_list")) Grid
  44.  
  45. myManageHook = composeAll [
  46. className =? "Skype" --> unfloat
  47. , className =? "Gimp" --> doShift "7"
  48. , className =? "Skype" --> doShift "8"
  49. , className =? "Pidgin" --> doShift "9"
  50. , className =? "Gnome-about-me" --> doCenterFloat
  51. , className =? "Gnome-screenshot" --> doCenterFloat
  52. , className =? "Pidgin" <&&> role =? "multifield" --> doCenterFloat
  53. , className =? "Gnome-terminal" <&&> role =? "gnome-terminal-profile-editor" --> doCenterFloat
  54. , className =? "Thunderbird" <&&> title =? "Password Required" --> doCenterFloat
  55. , isFullscreen --> doFullFloat
  56. ] <+> manageHook gnomeConfig
  57. where
  58. role = stringProperty "WM_WINDOW_ROLE"
  59. unfloat = ask >>= doF . W.sink
  60.  
  61. myLogHook = logHook gnomeConfig >> updatePointer (Relative 0.90 0.90)
  62.  
  63. myKeys = [
  64. ("M-0" , windows $ W.greedyView "0")
  65. , ("M-u" , sendMessage MirrorShrink)
  66. , ("M-i" , sendMessage MirrorExpand)
  67. ]
  68.  
  69. main = xmonad
  70. $ gnomeConfig {
  71. modMask = mod4Mask
  72. , terminal = "gnome-terminal"
  73. , borderWidth = 1
  74. , normalBorderColor = "#444444"
  75. , focusedBorderColor = "#4878CC"
  76. , workspaces = myWorkspaces
  77. , layoutHook = myLayoutHook
  78. , manageHook = myManageHook
  79. , logHook = myLogHook
  80. }
  81. `additionalKeysP` myKeys
  82. `additionalKeys` M.toList (planeKeys mod4Mask (Lines 2) Linear)
Add Comment
Please, Sign In to add comment