diff --git a/nixos/home-manager/env/bspwm.nix b/nixos/home-manager/env/bspwm.nix index 1e496980..01ee4773 100644 --- a/nixos/home-manager/env/bspwm.nix +++ b/nixos/home-manager/env/bspwm.nix @@ -16,5 +16,8 @@ startupPrograms = [ "kitty" ]; + monitors = { + "primary" = ["I" "II" "III" "IV" "V"]; + }; }; } diff --git a/nixos/home-manager/env/sxhkd.nix b/nixos/home-manager/env/sxhkd.nix index a7d261db..6539a7fc 100644 --- a/nixos/home-manager/env/sxhkd.nix +++ b/nixos/home-manager/env/sxhkd.nix @@ -3,74 +3,48 @@ services.sxhkd = { enable = true; keybindings = { - "alt + shift + l" = '' - scrot -z /tmp/i3lock.png;\ - convert /tmp/i3lock.png -blur \"15x12\" /tmp/i3lock.png;\ - i3lock -i /tmp/i3lock.png;\ - rm /tmp/i3lock.png - ''; - "super + w" = "firefox"; + # Terminal emulators "super + Return" = "kitty"; - "alt + shift + Return" = "xfce4-terminal --drop-down"; - "super + f" = "kitty -e ranger"; - "super + shift + f" = "thunar"; + "super + shift + Return" = "xfce4-terminal --drop-down"; + + # Launcher "super + @space" = "rofi -show drun"; - "alt + p" = "rofi -show drun"; - "alt + Tab" = "bspc node -f last.local"; - "super + shift + r" = "pkill -USR1 -x sxhkd"; - "super + {_,shift + }{Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}"; + + # bspwm hotkeys + "super + Escape" = "pkill -USR1 -x sxhkd"; + "super + alt + {q,r}" = "bspc {quit,wm -r}"; "super + {_,shift + }q" = "bspc node -{c,k}"; - "alt + Return" = "bspc desktop -l next"; - # if the current node is automatic, send it to the last manual, otherwise pull the last leaf - "super + y" = "bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused"; - # swap the current node and the biggest node + "super + m" = "bspc desktop -l next"; "super + g" = "bspc node -s biggest"; - # - # state/flags - # - # set the window state - #super + {t,shift + t,s,f} - # bspc node -t {tiled,pseudo_tiled,floating,fullscreen} - "alt + f" = "bspc node -t \"~\"{floating,tiled}"; - # set the node flags - "super + ctrl + {x,y,z}" = "bspc node -g {locked,sticky,private}"; - # - # focus/swap - # - # focus the node in the given direction + + # State/Flags + "super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; + + # Focus/Scap "super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}"; - # focus the node for the given path jump + "super + {_,shift + }{Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}"; "super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}"; - # focus the next/previous node in the current desktop - "super + {_,shift + }c" = "bspc node -f {next,prev}.local"; - # focus the next/previous desktop in the current monitor - "super + {_,shift + }bracket{left,right}" = "bspc {desktop -f,node -d} {prev,next}.local"; - # focus the last node/desktop + "super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window"; + "super + {_,shift + }bracket{left,right}" = "bspc {desktop,monitor} -f {prev,next}"; + "super + {_,shift + }{9,0}" = "bspc node {-d,-m} {prev,next} --follow"; "super + {grave,Tab}" = "bspc {node,desktop} -f last"; - # focus the older or newer node in the focus history - "super + {o,i}" = "bspc wm -h off\; bspc node {older,newer} -f\; bspc wm -h on"; - # focus or send to the given desktop - "super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,10}'"; - # - # move/resize - # - # expand a window by moving one of its side outward - "space + shift + {Left,Down,Up,Right}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; - # contract a window by moving one of its side inward - "super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; - # move a floating window - #super + {Left,Down,Up,Right} - # bspc node -v {-20 0,0 20,0 -20,20 0} - ## Move floating windows - "alt + shift + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; - # volume control keys + "super + {_,shift + }{1-8}" = "bspc {desktop -f,node -d} '^{1-8}'"; + + # screenshot + "Print" = "flameshot gui"; + + # Shortcuts + "super + w" = "firefox"; + "super + shift + f" = "thunar"; + "super + f" = "kitty -e ranger"; + "alt + p" = "rofi -show drun"; + + # Volume control keys "XF86AudioMute" = "pamixer -t"; "XF86AudioRaiseVolume" = "pamixer -i 2"; "XF86AudioLowerVolume" = "pamixer -d 2"; "XF86MonBrightnessUp" = "xbacklight +10"; "XF86MonBrightnessDown" = "xbacklight -10"; - # screenshot - "Print" = "flameshot gui"; }; }; }