#App Launcher
super + space
	$HOME/.config/rofi/launcher/launcher.sh

#Window Switcher
alt + Tab
	$HOME/.config/rofi/launcher/launcher.sh window

#Add Desktop
#super + d
	#$HOME/.config/bspwm/bspwm_desktops.sh -a

#Toggle Floating
super + f
	bspc node -t ~floating

super + u
	$HOME/.config/conky/conkytoggler

#System Monitor
ctrl + alt + Delete
	kitty btop -p 2

#File Explorer
super + e
	pcmanfm

#Clipboard manager
super + c
	rofi -modi "clipboard:roficlip.py --show,persistent:roficlip.py --show --persistent,actions:roficlip.py --show --actions" -show clipboard

#Copy Paste
#super + c
#	cliphist list | rofi -dmenu | cliphist decode | wl-copy

#Screenshot Tool
Print
	flameshot gui

#Session Menu
super + F4
	~/.config/rofi/powermenu/powermenu.sh

#VPN Menu
super + n
	~/.config/rofi/nm-vpn/nm-vpn.sh

#Emoji Menu
super + i
	rofi -modi 'emoji:~/.config/rofi/emojis/emojis.sh' -show emoji -theme '~/.config/rofi/emojis/emojis.rasi'

#Tools Menu
super + t
	~/.config/rofi/helper/rofi-bangs.sh

#Kill GUI
super + k
	xkill

#Screen Brightness Up
XF86MonBrightnessUp
	brillo -q -u 150000 -A 5

#Screen Brightness Down
XF86MonBrightnessDown
	brillo -q -u 150000 -U 5

#Terminal Emulator
super + Return
	kitty

#Show this Shortcut List
super + s
	$HOME/.config/rofi/shortcuts/shortcuts.sh

#Volume Menu
super + a
	$HOME/.config/rofi/volume/volume.sh

#Song Prev, Next 
XF86Audio{Prev,Next}
	playerctl {previous,next}

#Sond Play / Pause
XF86AudioPlay
	playerctl play-pause

#Reload sxhkd config
super + Escape
	pkill -USR1 -x sxhkd

#Quit/Restart BSPWM
super + alt + {q,r}
	bspc {quit,wm -r}

#Close and Kill Client
super + {_,shift + }q
	bspc node -{c,k}

#Swap the current node and the biggest window
super + g
	bspc node -s biggest.window

#Preselect the direction
super + ctrl + {h,j,k,l}
	bspc node -p {west,south,north,east}

#Preselect the ratio
super + ctrl + {1-9}
	bspc node -o 0.{1-9}

#Cancel the preselection for the focused node
super + ctrl + space
	bspc node -p cancel

#Set the window state
super + {t,shift + t,s,f}
	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}

#Set the node flags
super + ctrl + {m,x,y,z}
	bspc node -g {marked,locked,sticky,private}

#Focus the node in the given direction
super + {_,shift + }{h,j,k,l}
	bspc node -{f,s} {west,south,north,east}

#Focus the node for the given path jump
super + {p,b,comma,period}
	bspc node -f @{parent,brother,first,second}

#Focus the next/previous window in the current desktop
super + {_,shift + }c
	bspc node -f {next,prev}.local.!hidden.window

#Focus the next/previous desktop in the current monitor
super + {8,9}
	bspc desktop -f {prev,next}

#Focus the last node/desktop
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 window
super + {Left,Down,Up,Right}
	$HOME/.config/bspwm/bspwm_smart_move {west,south,north,east}

#Rotate tree
#super + {Left,Right}
#    bspc node @/ -C {forward,backward}


#Smart resize
super + ctrl + alt + {Left,Down,Up,Right}
  n=10; \
  { d1=left;   d2=right;  dx=-$n; dy=0;   \
  , d1=bottom; d2=top;    dx=0;   dy=$n;  \
  , d1=top;    d2=bottom; dx=0;   dy=-$n; \
  , d1=right;  d2=left;   dx=$n;  dy=0;   \
  } \
  bspc node --resize $d1 $dx $dy || bspc node --resize $d2 $dx $dy

