aboutsummaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-05-21 20:06:53 -0700
committerBruce Hill <bruce@bruce-hill.com>2019-05-21 20:06:53 -0700
commit3d401cd70150fd8f984b644f24ffe34488a7d656 (patch)
tree414dd2d23c8ca33dd7849c0d07750b5cf504d35c /config.h
parent1a0382f55de966426586441e8ec33db3b4e7100f (diff)
Updates and improvements.
Diffstat (limited to 'config.h')
-rw-r--r--config.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/config.h b/config.h
new file mode 100644
index 0000000..109d318
--- /dev/null
+++ b/config.h
@@ -0,0 +1,36 @@
+/*
+ * User-defined key bindings.
+ */
+#define PROG_FUZZY "fzf"
+#define PROG_DELETE "rm -rf"
+#define SCROLLOFF 5
+
+#define NO_FILES (1<<0)
+#define PROMPT (1<<1)
+#define CD_TO_RESULT (1<<2)
+#define REFRESH (1<<3)
+#define CLEAR_SELECTION (1<<4)
+#define SILENT (1<<5)
+
+#define DEVNULL " >/dev/null 2>/dev/null"
+
+struct {
+ int key;
+ const char *command;
+ int flags;
+ const char *prompt;
+} bindings[] = {
+ {'?', "less"},
+ {'D', "xargs rm -rf" DEVNULL, CLEAR_SELECTION | REFRESH | SILENT},
+ {'d', "xargs -I @ sh -c 'rm -rfi @ </dev/tty'", CLEAR_SELECTION | REFRESH},
+ {'+', "xargs -n1 -I @ cp @ @.copy" DEVNULL, REFRESH | SILENT},
+ {'m', "xargs -I @ mv @ ." DEVNULL, CLEAR_SELECTION | REFRESH | SILENT},
+ {'p', "xargs -I @ cp @ ." DEVNULL, CLEAR_SELECTION | REFRESH | SILENT},
+ {'n', "touch %s", SILENT | PROMPT | REFRESH | NO_FILES, "New file: "},
+ {'|', "sh -c \"`read -p '> ' </dev/tty`\"", 0},//, PROMPT, "> "},
+ //{'|', "%s", PROMPT, "> "},
+ {'>', "%s", PROMPT | NO_FILES, "> "},
+ {'r', "xargs -I @ -n1 sh -c 'mv \"@\" \"`printf \"\\033[1mRename \\033[0;33m%%s\\033[0m: \" \"@\" >&2 && head -n1 </dev/tty`\"'",
+ REFRESH | CLEAR_SELECTION},
+ {0},
+};