Add install.sh Add .zshrc add: nvim configs add: toggleterm, alpha update update Create README.md major changes major changes add picom updated dot files update shit
101 lines
4 KiB
Haskell
101 lines
4 KiB
Haskell
import XMonad
|
|
|
|
import XMonad.Actions.SpawnOn
|
|
import XMonad.Actions.CycleWS
|
|
import XMonad.Actions.WorkspaceNames
|
|
|
|
import XMonad.Hooks.WorkspaceHistory
|
|
import XMonad.Hooks.EwmhDesktops
|
|
import XMonad.Hooks.ManageDocks
|
|
import XMonad.Hooks.DynamicLog
|
|
import XMonad.Hooks.StatusBar
|
|
import XMonad.Hooks.StatusBar.PP
|
|
|
|
import XMonad.Layout.ThreeColumns
|
|
import XMonad.Layout.Gaps
|
|
import XMonad.Layout.Spacing
|
|
|
|
import XMonad.Util.NamedWindows (getName)
|
|
import XMonad.Util.SpawnOnce
|
|
import XMonad.Util.EZConfig
|
|
import qualified XMonad.StackSet as W
|
|
|
|
import Control.Monad (forM_, join)
|
|
|
|
import Data.List (sortBy)
|
|
import Data.Function (on)
|
|
|
|
my_startup_hook :: X()
|
|
|
|
my_startup_hook = do
|
|
spawnOnce "source /home/light/.config/xmonad/envs.sh"
|
|
spawnOnce "xrdb -merge /home/light/.config/xmonad/.Xresources"
|
|
spawnOnce "feh --bg-fill --randomize ~/wallpapers/"
|
|
spawnOnce "sudo wpa_supplicant -B -i wlp0s20f3 -c /home/light/.config/wpa_configs/home_wifi"
|
|
spawnOnce "/home/light/.config/xmonad/toggle_picom.sh"
|
|
spawnOnce "/home/light/.config/xmonad/toggle_polybar.sh"
|
|
spawnOnce "setxkbmap -model pc104 -layout us,ir -variant , -option grp:rctrl_rshift_toggle"
|
|
spawnOnce "mpv --no-video --no-terminal ~/.config/xmonad/welcome.wav"
|
|
|
|
main :: IO ()
|
|
main = xmonad $ ewmh $ xmobarProp $ my_conf
|
|
|
|
my_conf
|
|
= def
|
|
{
|
|
|
|
layoutHook = spacingWithEdge 16 $ my_layout
|
|
, startupHook = my_startup_hook
|
|
, manageHook = manageDocks <+> manageSpawn <+> manageHook def
|
|
, logHook = workspaceHistoryHook <+> polybar_hook
|
|
, focusedBorderColor = "#fe8019"
|
|
, normalBorderColor = "#928374"
|
|
, workspaces = ["1\59285", "2\62057", "3\57879", "4\61441", "5\59285", "6\59138"]
|
|
}
|
|
`additionalKeysP`
|
|
[ ("M-<Tab>", toggleWS)
|
|
|
|
, ("M-k", spawn "kitty")
|
|
|
|
, ("M-`", spawn "rofi -show run -m 2")
|
|
, ("M-c", spawn "rofi -show calc -modi calc -no-show-match -no-sort")
|
|
|
|
, ("M-s", spawn "flameshot gui")
|
|
, ("M-w", spawn "feh --bg-fill --randomize ~/pictures/wallpapers/")
|
|
, ("M-p", spawn "~/.config/xmonad/toggle_picom.sh &> /dev/null &")
|
|
, ("M-d", spawn "~/.config/xmonad/toggle_polybar.sh &> /dev/null &")
|
|
, ("M-\\", spawn "rofi -show Search -modes 'Search:/home/light/.config/xmonad/duck_search.sh'")
|
|
, ("M-|", spawn "killall matching_engine -9 ; killall risk_engine_cpp -9")
|
|
|
|
, ("<XF86AudioMute>", spawn "amixer -q -D pulse sset Master toggle")
|
|
, ("<XF86AudioLowerVolume>", spawn "amixer -q -D pulse sset Master on ; amixer -q -D pulse sset Master 2%-")
|
|
, ("<XF86AudioRaiseVolume>", spawn "amixer -q -D pulse sset Master on ; amixer -q -D pulse sset Master 2%+")
|
|
, ("<XF86AudioNext>", spawn "echo 'playlist-next weak' | socat - '/tmp/mpvsocket'")
|
|
, ("<XF86AudioPrev>", spawn "echo 'playlist-prev weak' | socat - '/tmp/mpvsocket'")
|
|
, ("<XF86AudioPlay>", spawn "echo 'cycle pause' | socat - '/tmp/mpvsocket'")
|
|
, ("<XF86MonBrightnessUp>", spawn "lux -a 10%")
|
|
, ("<XF86MonBrightnessDown>", spawn "lux -s 10%")]
|
|
|
|
my_layout = tiled ||| Mirror tiled ||| Full ||| threeCol
|
|
where
|
|
threeCol = ThreeColMid nmaster delta ratio
|
|
tiled = Tall nmaster delta ratio
|
|
nmaster = 1 -- Default number of windows in the master pane
|
|
ratio = 1/2 -- Default propoetion of screen occupied by master pane
|
|
delta = 3/100 -- Percent of screen to increment when resizing panes
|
|
|
|
|
|
polybar_hook = do
|
|
winset <- gets windowset
|
|
title <- maybe (return "") (fmap show . getName) . W.peek $ winset
|
|
let currWs = W.currentTag winset
|
|
let wss = map W.tag $ W.workspaces winset
|
|
|
|
io $ appendFile "/tmp/.xmonad-title-log" (title ++ "\n")
|
|
io $ appendFile "/tmp/.xmonad-workspace-log" ( wsStr currWs wss)
|
|
|
|
where
|
|
fmt currWs ws
|
|
| currWs == ws = "%{F#CC241D}" ++ drop 1 ws ++ "\n"
|
|
| otherwise = "%{F#FBF1C7}" ++ drop 1 ws ++ "\n"
|
|
wsStr currWs wss = join $ map (fmt currWs) $ sortBy (compare `on` (!! 0)) wss
|