-terminal /usr/pkg/bin/urxvt
-font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso8859-1
+# This configuration uses Mod1 and Mod3. Make sure they are mapped properly using xev(1)
+# and xmodmap(1). Usually, Mod1 is Alt (Alt_L) and Mod3 is Windows (Super_L)
-# Fullscreen
+terminal /usr/bin/urxvt
+
+# ISO 10646 = Unicode
+font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+
+# Fullscreen (Mod1+f)
bind Mod1+41 f
-# Stacking
+# Stacking (Mod1+h)
bind Mod1+43 s
-# Default
+# Default (Mod1+e)
bind Mod1+26 d
-# Focus
+# Focus (Mod1+j/k/l/;)
bind Mod1+44 h
bind Mod1+45 j
bind Mod1+46 k
bind Mod1+47 l
-# Snap
+# Focus Container (Mod3+j/k/l/;)
+bind Mod3+44 wch
+bind Mod3+45 wcj
+bind Mod3+46 wck
+bind Mod3+47 wcl
+
+# Snap (Mod1+Control+j/k/l/;)
bind Mod1+Control+44 sh
bind Mod1+Control+45 sj
bind Mod1+Control+46 sk
bind Mod1+Control+47 sl
-# Move
+# Move (Mod1+Shift+j/k/l/;)
bind Mod1+Shift+44 mh
bind Mod1+Shift+45 mj
bind Mod1+Shift+46 mk
bind Mod1+Shift+47 ml
-# Workspaces
+# Move Container (Mod3+Shift+j/k/l/;)
+bind Mod3+Shift+44 wcmh
+bind Mod3+Shift+45 wcmj
+bind Mod3+Shift+46 wcmk
+bind Mod3+Shift+47 wcml
+
+# Workspaces (Mod1+1/2/…)
bind Mod1+10 1
bind Mod1+11 2
bind Mod1+12 3
bind Mod1+16 7
bind Mod1+17 8
bind Mod1+18 9
-bind Mod1+19 0
+bind Mod1+19 10
+
+# Move to Workspaces
+bind Mod1+Shift+10 m1
+bind Mod1+Shift+11 m2
+bind Mod1+Shift+12 m3
+bind Mod1+Shift+13 m4
+bind Mod1+Shift+14 m5
+bind Mod1+Shift+15 m6
+bind Mod1+Shift+16 m7
+bind Mod1+Shift+17 m8
+bind Mod1+Shift+18 m9
+bind Mod1+Shift+19 m10
+
+# Mod1+Enter starts a new terminal
+bind Mod1+36 exec /usr/bin/urxvt
+
+# Mod1+Shift+q kills the current client
+bind Mod1+Shift+24 kill
+
+# Mod1+v starts dmenu and launches the selected application
+# for now, we don’t have an own launcher
+bind Mod1+55 exec /usr/bin/dmenu_run
+
+# Mod1+Shift+e exits i3
+bind Mod1+Shift+26 exit
+
+# Mod1+Shift+r restarts i3 inplace
+bind Mod1+Shift+27 restart