-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxmonad.hs
More file actions
70 lines (65 loc) · 3.41 KB
/
xmonad.hs
File metadata and controls
70 lines (65 loc) · 3.41 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
{-# LANGUAGE ScopedTypeVariables #-}
import System.IO
import XMonad
import XMonad.Actions.WindowGo (runOrRaise)
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Layout.IndependentScreens
import XMonad.Layout.MouseResizableTile
import XMonad.Layout.Spacing
import XMonad.Util.Brightness
import XMonad.Util.EZConfig (additionalKeysP)
import XMonad.Util.Run (spawnPipe, unsafeSpawn)
-- import XMonad.Wallpaper --For some reason, doesnt find it
myStartupHook :: X ()
myStartupHook = do
unsafeSpawn "feh --bg-scale ~/Pictures/wallpaper.png &"
unsafeSpawn myTerminal -- I have to manualy remove this terminal because Dropbox starts there and won't stop printing msgs
runOrRaise "emacs" (className =? "Emacs")
runOrRaise "spotify" (className =? "Spotify")
runOrRaise "nautilus" (className =? "Nautilus")
runOrRaise "firefox" (className =? "Firefox")
unsafeSpawn "env XDG_CURRENT_DESKTOP=GNOME gnome-control-center"
myModMask = mod4Mask -- Sets modkey to super/windows key
myTerminal = "gnome-terminal"
-- myTerminal = "tabbed -r 2 st -w '' -e tmux" -- Sets default terminal
-- myTerminal = "st -e tmux" -- Sets default terminal
-- myTerminal = "urxvt" -- Sets default terminal
-- myTerminal = "tabbed urxvt -embed" -- Sets default terminal
myTextEditor = "emacs" -- Sets default text editor
myBorderWidth = 2 -- Sets border width for windows
myNormalBorderColor = "#4a4a4a"
myFocusedBorderColor = "#7fff00"
mySpacing = spacingRaw True (Border 0 10 10 10) True (Border 10 10 10 10) True
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts . mySpacing $ layoutHook defaultConfig
--smartSpacing 20 $ Tall 1 (3/100) (1/2)
--avoidStruts $ layoutHook defaultConfig
, handleEventHook = handleEventHook defaultConfig <+> docksEventHook
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "darkgreen" "" . shorten 20
}
, startupHook = myStartupHook
, modMask = myModMask -- Rebind Mod to the Windows key
, borderWidth = myBorderWidth
, normalBorderColor = myNormalBorderColor
, focusedBorderColor = myFocusedBorderColor
, terminal = myTerminal
} `additionalKeysP`
[ ("<Print>", spawn "scrot -e \'mv $f ~/Pictures/Screenshots\'")
, ("M-u", decrease) -- decrease brightness
, ("M-i", increase) -- increase brightness
, ("M-j", spawn "amixer -q sset Master 2%-")
, ("M-k", spawn "amixer -q sset Master 2%+")
, ("M-m", spawn "amixer set Master toggle")
-- , ("C-<Print>", spawn "scrot -u -e \'mv $f ~/Pictures/Screenshots\'")
-- , ("M-j", spawn "xdotool key Down") --Don't work and dont know why :(
-- , ("M-k", spawn "xdotool key Up")
-- , ("M-l", spawn "xdotool key Right")
-- , ("M-h", spawn "xdotool key Left")
]
-- , ((mod4mask .|. shiftMask, xK_z), spawn "xscreensaver-command -lock")