Files
dotfiles/xmonad/xmonad.hs
Krrish Ghimire d9f90cbe39 update configs
2022-07-18 15:44:39 +05:45

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)
]