summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--cwm.112
-rw-r--r--input.c19
2 files changed, 26 insertions, 5 deletions
diff --git a/cwm.1 b/cwm.1
index b6835a7..3429817 100644
--- a/cwm.1
+++ b/cwm.1
@@ -15,7 +15,7 @@
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
 .\" The following requests are required for all man pages.
-.Dd $Mdocdate: April 7 2008 $
+.Dd $Mdocdate: April 8 2008 $
 .Dt CWM 1
 .Os
 .Sh NAME
@@ -177,17 +177,19 @@ The window is hidden.
 .Pp
 The following keybindings may be used to navigate the result list:
 .Pp
-.Bl -tag -width "[Down] or C-sXXX" -offset indent -compact
-.It Ic [Down] No or Ic C-s
+.Bl -tag -width "[Down] or C-s or M-j" -offset indent -compact
+.It Ic [Down], C-s No or Ic M-j
 Select the next window in the list.
-.It Ic [Up] No or Ic C-r
+.It Ic [Up], C-r No or Ic M-k
 Select the previous window in the list.
+.It Ic [Backspace] No or Ic C-h
+Backspace.
 .It Ic C-u
 Clear the input.
 .It Ic [Enter]
 Focus the selected window.
 .It Ic [Esc]
-Quit.
+Cancel.
 .It Ic C-a
 Whenever there are no matching windows, list every window.
 .El
diff --git a/input.c b/input.c
index 5a1a3bc..e5a4a00 100644
--- a/input.c
+++ b/input.c
@@ -70,6 +70,10 @@ input_keycodetrans(KeyCode kc, u_int state,
 		case XK_U:
 			*ctl = CTL_WIPE;
 			break;
+		case XK_h:
+		case XK_H:
+			*ctl = CTL_ERASEONE;
+			break;
 		case XK_a:
 		case XK_A:
 			*ctl = CTL_ALL;
@@ -77,6 +81,21 @@ input_keycodetrans(KeyCode kc, u_int state,
 		}
 	}
 
+	if (*ctl == CTL_NONE && (state & Mod1Mask)) {
+		switch (ks) {
+		case XK_j:
+		case XK_J:
+			/* Vi "down" */
+			*ctl = CTL_DOWN;
+			break;
+		case XK_k:
+		case XK_K:
+			/* Vi "up" */
+			*ctl = CTL_UP;
+			break;
+		}
+	}
+
 	if (*ctl != CTL_NONE)
 		return (0);