forked from majnemer/davesdots
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxmonad.gnome.hs
More file actions
74 lines (61 loc) · 2.2 KB
/
Copy pathxmonad.gnome.hs
File metadata and controls
74 lines (61 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import XMonad
import qualified XMonad.StackSet as W
import XMonad.Actions.CycleWS
import XMonad.Layout.Grid
import XMonad.Layout.Tabbed
import XMonad.Layout.NoBorders(smartBorders)
import XMonad.Hooks.UrgencyHook
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeysP)
import XMonad.Util.Scratchpad
import XMonad.Prompt
import XMonad.Prompt.Shell(shellPrompt)
import XMonad.Prompt.Window
import XMonad.Config.Gnome
import System.IO(hPutStrLn)
-- Things that should always float
myFloatHook = composeAll [
className =? "qemu" --> doFloat
, title =? "xfce4-notifyd" --> doIgnore
]
myLayoutHook = tiled ||| Grid ||| simpleTabbed
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
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ withUrgencyHook NoUrgencyHook gnomeConfig
{ manageHook = manageDocks <+> myFloatHook <+> manageHook defaultConfig <+> scratchpadManageHook (W.RationalRect 0.25 0.25 0.5 0.5)
, layoutHook = avoidStruts $ smartBorders (layoutHook gnomeConfig)
, logHook = dynamicLogWithPP $ xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppUrgent = xmobarColor "#CC0000" "" . wrap "**" "**"
, ppTitle = xmobarColor "#8AE234" "" . shorten 80
}
, terminal = "xterm"
, modMask = mod4Mask
}
`additionalKeysP`
[ ("M-p", shellPrompt defaultXPConfig { position = Top })
, ("M-S-a", windowPromptGoto defaultXPConfig { position = Top })
, ("M-a", windowPromptBring defaultXPConfig { position = Top })
, ("M-S-l", spawn "~/bin/lock")
, ("M-S-<Left>", shiftToPrev)
, ("M-S-<Right>", shiftToNext)
, ("M-<Up>", windows W.focusUp)
, ("M-S-<Up>", windows W.swapUp)
, ("M-<Down>", windows W.focusDown)
, ("M-S-<Down>", windows W.swapDown)
, ("M-`", toggleWS)
, ("M-s", moveTo Next EmptyWS)
, ("M-S-s", shiftTo Next EmptyWS)
, ("M-g", scratchpadSpawnAction defaultConfig { terminal = "xterm" })
]