88 lines
4.0 KiB
Haskell
88 lines
4.0 KiB
Haskell
import XMonad
|
|
import XMonad.Hooks.DynamicLog
|
|
import XMonad.Hooks.SetWMName
|
|
import XMonad.Hooks.ManageDocks
|
|
import XMonad.Util.NamedWindows
|
|
import XMonad.Util.Run
|
|
import XMonad.Util.Run(spawnPipe)
|
|
import XMonad.Util.EZConfig(additionalKeys)
|
|
import XMonad.Layout.Spacing
|
|
import XMonad.Prompt
|
|
import XMonad.Prompt.Shell
|
|
import System.IO
|
|
import XMonad.Actions.SimpleDate
|
|
import XMonad.Actions.WindowBringer
|
|
import XMonad.Util.SpawnOnce
|
|
import XMonad.Actions.FindEmptyWorkspace
|
|
import XMonad.Actions.GridSelect
|
|
import qualified XMonad.StackSet as W
|
|
|
|
myStartupHook :: X ()
|
|
myStartupHook = do
|
|
spawnOnce "nitrogen --set-scaled --random pictures/wallpapers/ &"
|
|
spawnOnce "xcompmgr &"
|
|
spawnOnce "dunst &"
|
|
spawnOnce "nm-applet &"
|
|
spawnOnce "volumeicon &"
|
|
spawnOnce "stalonetray --config .config/stalonetray/stalonetrayrc &"
|
|
spawnOnce "transmission-daemon &"
|
|
spawnOnce "setxkbmap -option ctrl:nocaps &"
|
|
spawnOnce "xset -b &"
|
|
spawnOnce "nepalical &"
|
|
spawnOnce "export LC_CTYPE=en_US.UTF-8"
|
|
spawnOnce "alias anki='anki --no-sandbox'"
|
|
setWMName "LG3D"
|
|
|
|
|
|
main :: IO ()
|
|
main = do
|
|
xmproc <- spawnPipe "xmobar /home/krrish/.config/xmobar/xmobarrc"
|
|
|
|
-- xmonad $ def
|
|
xmonad $ docks $ def
|
|
{ manageHook = manageDocks <+> manageHook def
|
|
, layoutHook = avoidStruts $ spacingRaw True (Border 0 4 4 4) True (Border 4 4 4 4) True $layoutHook def
|
|
, startupHook = myStartupHook
|
|
, terminal = "st"
|
|
, handleEventHook = handleEventHook def
|
|
, logHook = dynamicLogWithPP xmobarPP
|
|
{ ppOutput = hPutStrLn xmproc
|
|
, ppTitle = xmobarColor "green" "" . shorten 50
|
|
}
|
|
, modMask = mod4Mask
|
|
, focusedBorderColor = "#6B8E23"
|
|
} `additionalKeys`
|
|
[ ((controlMask .|. mod1Mask, xK_l), spawn "slock")
|
|
, ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s -q 100 /home/krrish/pictures/%Y-%m-%d-%H:%M:%S.png")
|
|
, ((mod1Mask, xK_m), spawn "st cmus")
|
|
, ((mod4Mask .|. shiftMask, xK_q), spawn "poweroff")
|
|
, ((mod4Mask, xK_p), spawn "dmenu_run -c -l 9 -p run: ")
|
|
, ((mod4Mask, xK_d), date)
|
|
, ((mod4Mask, xK_s), spawn "search")
|
|
, ((mod4Mask, xK_y), spawn "st node /home/krrish/programs/youtube-cli-app/youtube.js")
|
|
, ((mod4Mask .|. shiftMask, xK_r), spawn "reboot")
|
|
, ((mod4Mask, xK_b), spawn "notify-send 'Firefox' 'Opening firefox'; firefox")
|
|
, ((mod4Mask .|. controlMask, xK_x), shellPrompt def)
|
|
, ((mod4Mask .|. shiftMask, xK_t), spawn "stalonetray -p")
|
|
, ((mod4Mask .|. shiftMask, xK_n), spawn "st newsboat")
|
|
, ((mod4Mask .|. shiftMask, xK_x), spawn "st vim .xmonad/xmonad.hs")
|
|
, ((mod4Mask .|. shiftMask, xK_u), spawn "st sudo pacman -Syu")
|
|
, ((mod4Mask .|. shiftMask, xK_e), spawn "st setxkbmap us")
|
|
, ((mod4Mask .|. shiftMask, xK_v), spawn "st sudo protonvpn c -f")
|
|
, ((mod4Mask .|. shiftMask, xK_i), spawn "notify-send 'Intellij Idea' 'Opening Intellij Idea'; /home/krrish/programs/idea/bin/idea.sh")
|
|
, ((0, xK_Print), spawn "scrot -q 100 /home/krrish/pictures/%Y-%m-%d-%H:%M:%S.png")
|
|
, ((0, 0x1008FF11), spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%")
|
|
, ((0, 0x1008FF13), spawn "pactl set-sink-volume @DEFAULT_SINK@ +5%")
|
|
, ((mod4Mask .|. shiftMask, xK_m), spawn "pactl set-sink-volume @DEFAULT_SINK@ -5%")
|
|
, ((mod4Mask .|. shiftMask, xK_p), spawn "pactl set-sink-volume @DEFAULT_SINK@ +5%")
|
|
, ((0, 0x1008FF12), spawn "pactl set-sink-mute @DEFAULT_SINK@ toggle")
|
|
, ((0, 0x1008FF02), spawn "sudo ~/scripts/brightness 50")
|
|
, ((0, 0x1008FF03), spawn "sudo ~/scripts/brightness -50")
|
|
, ((mod4Mask, xK_o), spawn "rofi -show run")
|
|
|
|
, ((mod4Mask, xK_e), viewEmptyWorkspace)
|
|
, ((mod4Mask .|. shiftMask, xK_e), tagToEmptyWorkspace)
|
|
, ((mod4Mask .|. shiftMask, xK_f), spawnSelected def ["keepassxc", "brave", "pcmanfm"])
|
|
, ((mod4Mask .|. shiftMask, xK_w), gotoMenu)
|
|
]
|