Commit Diff


commit - 85f3c2a146db0926c83c669f39747d95f2864f9f
commit + 6d283064a776fdffe98ee440519f0c9d009ab150
blob - 3d0bdbc4f38356b6784c97d54be83af90b865652
blob + e74e564f26df55466b7aa9d65ee2ea3097a59b6a
--- fm.c
+++ fm.c
@@ -1191,6 +1191,20 @@ static void
 cmd_man(void)
 {
 	spawn("man", "fm", NULL);
+}
+
+static void
+cmd_jump_top(void)
+{
+	if (fm.nfiles)
+		ESEL = 0;
+}
+
+static void
+cmd_jump_bottom(void)
+{
+	if (fm.nfiles)
+		ESEL = fm.nfiles - 1;
 }
 
 static void
@@ -1207,10 +1221,14 @@ loop(void)
 #define X_QUIT 2
 		int flags;
 	} bindings[] = {
+		{'<',		K_META,	cmd_jump_top,		X_UPDV},
+		{'>',		K_META,	cmd_jump_bottom,	X_UPDV},
 		{'?',		0,	cmd_man,		0},
+		{'G',		0,	cmd_jump_bottom,	X_UPDV},
 		{'J',		0,	cmd_scroll_down,	X_UPDV},
 		{'K',		0,	cmd_scroll_up,		X_UPDV},
 		{'V',		K_CTRL,	cmd_scroll_down,	X_UPDV},
+		{'g',		0,	cmd_jump_top,		X_UPDV},
 		{'g',		K_CTRL,	NULL,			X_UPDV},
 		{'j',		0,	cmd_down,		X_UPDV},
 		{'k',		0,	cmd_up,			X_UPDV},