i3 - improved tiling WM


default config: use `set` for directions

Patch status: superseded

Patch by Tony Crisci

Long description:

Using `set` for direction letter keys makes them easier to configure for
users who prefer traditional vim-style directions.

To apply this patch, use:
curl http://cr.i3wm.org/patch/575/raw.patch | git am

b/i3.config

15
@@ -21,6 +21,13 @@ font pango:DejaVu Sans Mono 8
16
 # X core fonts rendering does not support right-to-left and this being a bitmap
17
 # font, it doesn’t scale on retina/hidpi displays.
18
 
19
+# use these keys for focus, movement, and resize directions when reaching for
20
+# the arrows is not convenient
21
+set $up l
22
+set $down k
23
+set $left j
24
+set $right semicolon
25
+
26
 # use Mouse+Mod1 to drag floating windows to their wanted position
27
 floating_modifier Mod1
28
 
29
@@ -38,10 +45,10 @@ bindsym Mod1+d exec dmenu_run
30
 # bindsym Mod1+d exec --no-startup-id i3-dmenu-desktop
31
 
32
 # change focus
33
-bindsym Mod1+j focus left
34
-bindsym Mod1+k focus down
35
-bindsym Mod1+l focus up
36
-bindsym Mod1+semicolon focus right
37
+bindsym Mod1+$left focus left
38
+bindsym Mod1+$down focus down
39
+bindsym Mod1+$up focus up
40
+bindsym Mod1+$right focus right
41
 
42
 # alternatively, you can use the cursor keys:
43
 bindsym Mod1+Left focus left
44
@@ -50,10 +57,10 @@ bindsym Mod1+Up focus up
45
 bindsym Mod1+Right focus right
46
 
47
 # move focused window
48
-bindsym Mod1+Shift+j move left
49
-bindsym Mod1+Shift+k move down
50
-bindsym Mod1+Shift+l move up
51
-bindsym Mod1+Shift+semicolon move right
52
+bindsym Mod1+Shift+$left move left
53
+bindsym Mod1+Shift+$down move down
54
+bindsym Mod1+Shift+$up move up
55
+bindsym Mod1+Shift+$right move right
56
 
57
 # alternatively, you can use the cursor keys:
58
 bindsym Mod1+Shift+Left move left
59
@@ -133,10 +140,10 @@ mode "resize" {
60
         # Pressing right will grow the window’s width.
61
         # Pressing up will shrink the window’s height.
62
         # Pressing down will grow the window’s height.
63
-        bindsym j           resize shrink width 10 px or 10 ppt
64
-        bindsym k           resize grow height 10 px or 10 ppt
65
-        bindsym l           resize shrink height 10 px or 10 ppt
66
-        bindsym semicolon   resize grow width 10 px or 10 ppt
67
+        bindsym $left       resize shrink width 10 px or 10 ppt
68
+        bindsym $down       resize grow height 10 px or 10 ppt
69
+        bindsym $up         resize shrink height 10 px or 10 ppt
70
+        bindsym $right      resize grow width 10 px or 10 ppt
71
 
72
         # same bindings, but for the arrow keys
73
         bindsym Left        resize shrink width 10 px or 10 ppt