diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
index ea5983f4..a81764d8 100644
--- a/.config/sxhkd/sxhkdrc
+++ b/.config/sxhkd/sxhkdrc
@@ -1,4 +1,4 @@
-#!/bin/bash
+# vim:ft=bash
 
 ## GENERAL HOTKEYS
 alt + Return
@@ -14,112 +14,58 @@ alt + Escape
 ctrl + alt + l
 	i3lock -nfc 000000
 
-# pavucontrol-qt Controls
+## APPLICATION TOGGLES
 alt + p
-	pavucontrol-qt
-alt + shift + p
-	killall pavucontrol-qt
-alt + shift + c
+	killall pavucontrol-qt || pavucontrol-qt
+alt + shift + m
 	killall compton || compton
 
-# Pulse controls
+## HARDWARE CONTROLS
 XF86Audio{Raise,Lower}Volume
 	pactl set-sink-volume 0 {+,-}5%
 XF86AudioMute
 	pactl set-sink-mute 0 toggle
-
-# Brightness controls
 XF86MonBrightness{Up,Down}
 	xbacklight {-inc,-dec} 5
 
-# Keyboard layout controls
-ctrl + alt + {e,j}
-	setxkbmap {us,jp}
-
-## BSPWM HOTKEYS
+## BSPWM
+# Reload configs
 alt + shift + r
 	~/.config/bspwm/bspwmrc
+# Close or kill node
 alt + {_,shift + }q
 	bspc node -{c,k}
-
-# alternate between the tiled and monocle layout
-alt + m
-	bspc desktop -l next
-
-# if the current node is automatic, send it to the last manual, otherwise pull the last leaf
-alt + 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
-alt + g
-	bspc node -s biggest
-
-# set the window state
-alt + {t,shift + t,f,shift + f}
-	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
-
-# set the node flags
-alt + ctrl + {x,y,z}
-	bspc node -g {locked,sticky,private}
-
-# focus the node in the given direction
+# Focus or move the node in the given direction
 alt + {_,shift + }{h,j,k,l}
 	bspc node -{f,s} {west,south,north,east}
-
-# focus the node for the given path jump
-alt + {a,b}
-	bspc node -f @{parent,brother}
-
-# focus the next/previous node in the current desktop
-alt + {_,shift + }c
-	bspc node -f {next,prev}.local
-
-# focus the next/previous desktop in the current monitor
-alt + {comma,period}
-	bspc desktop -f {prev,next}.local
-
-# focus the last node/desktop
-alt + {grave,Tab}
-	bspc {node,desktop} -f last
-
-# focus the older or newer node in the focus history
-alt + {o,i}
-	bspc wm -h off; \
-	bspc node {older,newer} -f; \
-	bspc wm -h on
-
-# focus or send to the given desktop
+# Focus or send to the given desktop
 alt + {_,shift + }{1-9,0}
 	bspc {desktop -f,node -d} '{1-9,10}'
-
-#
-# preselect
-#
-
-# preselect the direction
-super + {h,j,k,l}
-	bspc node -p {west,south,north,east}
-
-# preselect the ratio
-super + {1-9}
-	bspc node -o 0.{1-9}
-
-# cancel the preselection for the focused node
-super + space
-	bspc node -p cancel
-
-# cancel the preselection for the focused desktop
-ctrl + alt + space
-	bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
-
-#
-# move/resize
-#
-
-# expand a window by moving one of its side outward
+# Toggle monocle mode
+alt + m
+	bspc desktop -l next
+# Switch current node with biggest on current desktop
+alt + g
+	bspc node -s biggest --follow -d focused
+# Set window states
+alt + {t,shift + t,f,shift + f}
+	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
+# Set node flags
+alt + ctrl + {x,y,z}
+	bspc node -g {locked,sticky,private}
+# Focus the node for the given path jump
+alt + {a,b}
+	bspc node -f @{parent,brother}
+# Focus the next/previous node in the current desktop
+alt + {_,shift + }c
+	bspc node -f {next,prev}.local
+# Focus the next/previous desktop in the current monitor
+alt + {comma,period}
+	bspc desktop -f {prev,next}.local
+# Expand a window by moving one of its side outward
 super + alt + {h,j,k,l}
 	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
+# 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}
+