commit - e03d121935fa33b6f6b81bc71cdf9e27aa8f9c22
commit + 63fe4ed00638fdb4e44feeb16c33bb9b6263d7ed
blob - dddd04b2e566fe3f0e11435b41a61e393b89aeb2
blob + 0fc49eb5c21f32a52551a168d27dd6c81e93a2cd
--- fm.1
+++ fm.1
Refresh and redraw screen.
.It ^M
Spawn a shell
+.It v
+View file with a pager.
.It q
Quit
.Nm .
blob - 48d3e05d6ca1293c889cbac15fcf6f1efc96e0d7
blob + d4d03e8f16cedffd10d9404047118384e0be364e
--- fm.c
+++ fm.c
#ifndef FM_SHELL
#define FM_SHELL "/bin/sh"
+#endif
+
+#ifndef FM_PAGER
+#define FM_PAGER "/usr/bin/less"
#endif
#include "config.h"
if ((shell = getenv("SHELL")) == NULL)
shell = FM_SHELL;
spawn(shell, NULL);
+}
+
+static void
+cmd_view(void)
+{
+ const char *pager;
+
+ if (!fm.nfiles || S_ISDIR(EMODE(ESEL)))
+ return;
+
+ if ((pager = getenv("PAGER")) == NULL)
+ pager = FM_PAGER;
+ spawn(pager, ENAME(ESEL), NULL);
}
static void
{'p', 0, cmd_up, X_UPDV},
{'p', K_CTRL, cmd_up, X_UPDV},
{'q', 0, NULL, X_QUIT},
+ {'v', 0, cmd_view, X_UPDV},
{'v', K_META, cmd_scroll_up, X_UPDV},
{KEY_DOWN, 0, cmd_scroll_down, X_UPDV},
{KEY_NPAGE, 0, cmd_scroll_down, X_UPDV},