-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxmonad.hs
More file actions
91 lines (76 loc) · 3.21 KB
/
xmonad.hs
File metadata and controls
91 lines (76 loc) · 3.21 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import System.IO
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.NoBorders
import XMonad.Hooks.FadeInactive
import XMonad.Hooks.EwmhDesktops
import XMonad.Util.EZConfig
import XMonad.Util.Run
import Graphics.X11.ExtraTypes.XF86
import XMonad.Prompt
import XMonad.Prompt.Input
import XMonad.Prompt.RunOrRaise
import XMonad.Prompt.Shell
import XMonad.Prompt.Window
import XMonad.Prompt.AppLauncher as AL
import XMonad.Prompt.Layout
-- transparent inactive windows needs FadeInactive
myLogHook :: X ()
myLogHook = fadeInactiveLogHook fadeAmount
where fadeAmount = 0.8
-- shell prompt theme
mySP = defaultXPConfig
{ font = "xft:DejaVu Sans Mono:pixelsize=14"
, bgColor = "#0c1021"
, fgColor = "#f8f8f8"
, fgHLight = "#f8f8f8"
, bgHLight = "steelblue3"
, borderColor = "DarkOrange"
, promptBorderWidth = 1
, position = Top
, height = 22
, defaultText = []
}
myAutoSP = mySP { autoComplete = Just 1000 }
myWaitSP = mySP { autoComplete = Just 1000000 }
main = do
xmproc <- spawnPipe "compton"
xmproc <- spawnPipe "feh --bg-fill ~/Downloads/fleet.jpg"
xmproc <- spawnPipe "xmobar /home/PlasmaStrike/.xmonad/xmobar.hs"
xmonad $ defaultConfig
{ modMask = mod4Mask
, layoutHook = smartBorders . avoidStruts $ layoutHook defaultConfig
, manageHook = manageDocks <+> (isFullscreen --> doFullFloat) <+> manageHook defaultConfig
, logHook = myLogHook <+> dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 50}
-- , manageHook = composeALL [
-- manageDocks
-- , isFullscreen --> doFullFloat
-- , className =? "Vlc" --> doFloat
-- , manageHook defaultConfig
-- ]
}
`additionalKeysP`
[
("M-e", spawn "emacsclient -c")
, ("M-r M-r", spawn "sh ~/emacs/emacsdistro.sh spacemacs")
, ("M-r M-e", spawn "sh ~/emacs/emacsdistro.sh master")
, ("M-f", sendMessage ToggleStruts)
--volume
, ("<XF86AudioLowerVolume>", spawn "amixer set Master on && amixer set Headphone on && amixer set Master 2-")
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master on && amixer set Headphone on && amixer set Master 2+")
, ("<XF86AudioMute>", spawn "amixer set Master toggle && amixer set Headphone toggle")
-- prompt
, ("M-o r", shellPrompt mySP) -- shell prompt
-- , ("M-o t", prompt (myTerminal ++ " -e") mySP) -- run in term
, ("M-o g", windowPromptGoto myWaitSP) -- window go prompt
, ("M-b", windowPromptBring myWaitSP) -- window bring prompt
, ("M-o d", AL.launchApp mySP { defaultText = "~" } "thunar" ) -- thunar prompt
, ("M-v", windowPromptGoto myWaitSP)
-- , ("M-v", windowPromptBring myWaitSP)
, ("M-c", kill)
-- , ("M-<Return>", runOrRaise "gmrun" (className =? "Gmrun")) -- gmrun
]