-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxmonad.hs
58 lines (53 loc) · 2.22 KB
/
xmonad.hs
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
import Control.Monad
import XMonad
import XMonad.Actions.CycleWS
import XMonad.Config.Desktop (desktopLayoutModifiers)
import XMonad.Config.Gnome (gnomeConfig)
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.Minimize
import XMonad.Hooks.SetWMName
import XMonad.Hooks.ICCCMFocus
import XMonad.Layout.Fullscreen (fullscreenEventHook, fullscreenManageHook, fullscreenFull, fullscreenFloat)
import XMonad.Layout.Grid
import XMonad.Layout.NoBorders
import XMonad.Layout.Minimize
import XMonad.Layout.ThreeColumns
import XMonad.Util.EZConfig
import qualified XMonad.StackSet as W
myModMask = mod1Mask
myManageHook = composeAll
[ manageHook gnomeConfig
, className =? "Screenruler" --> doFloat
, className =? "Firefox" --> doF (W.shift "web")
, className =? "Chromium-browser" --> doF (W.shift "web")
, className =? "Pidgin" --> doF (W.shift "chat")
, className =? "Skype" --> doF (W.shift "chat")
, className =? "Thunderbird" --> doF (W.shift "mail")
, className =? "Rhythmbox" --> doF (W.shift "media")
, className =? "Spotify" --> doF (W.shift "media")
]
<+>
composeOne [ isFullscreen -?> doFullFloat ]
defaultLayouts = smartBorders( desktopLayoutModifiers (noBorders Full ||| Tall 1 (3/100) (1/2) ||| Grid) )
{-
myLayouts = (fullscreenFloat . fullscreenFull) $ defaultLayouts $ minimize $ layoutHook gnomeConfig
-}
myLayouts = minimize $ defaultLayouts
main = xmonad $ gnomeConfig {
focusFollowsMouse = True,
manageHook = myManageHook <+> fullscreenManageHook,
layoutHook = myLayouts,
handleEventHook = handleEventHook gnomeConfig <+> fullscreenEventHook <+> minimizeEventHook,
workspaces = ["web", "chat", "mail", "offshore", "media"],
startupHook = startupHook gnomeConfig >> setWMName "LG3D"
}
`additionalKeys`
[ ((myModMask, xK_m), withFocused minimizeWindow)
, ((myModMask, xK_p), spawn "GTK_IM_MODULE='' synapse")
, ((myModMask .|. shiftMask, xK_m), sendMessage RestoreNextMinimizedWin)
, ((myModMask, xK_semicolon), prevWS)
, ((myModMask, xK_apostrophe), nextWS)
, ((myModMask .|. shiftMask, xK_adiaeresis), shiftToNext)
, ((myModMask .|. shiftMask, xK_odiaeresis), shiftToPrev)
]