From 3bb94dc1a6094f1306cdaf387973b6712244df6a Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Thu, 23 Nov 2017 22:33:12 +0000 Subject: Require <> around all keys in a bind This is partly for consistency, party to resolve a bug where binding [ in the config file would trick the ini parser into thinking it was reading a section header, leading to the bind not being applied. --- files/imv_config | 56 ++++++++++++++++++++++++++++---------------------------- src/binds.c | 7 ------- src/imv.c | 44 ++++++++++++++++++++++---------------------- 3 files changed, 50 insertions(+), 57 deletions(-) diff --git a/files/imv_config b/files/imv_config index 837803c..5a2dafd 100644 --- a/files/imv_config +++ b/files/imv_config @@ -35,42 +35,42 @@ default_binds = false [binds] -Q = quit + = "quit" # Image navigation - = select_rel -1 -[ = select_rel -1 - = select_rel 1 -] = select_rel 1 -GG = select_abs 0 - = select_abs -1 + = "select_rel -1" +<[> = "select_rel -1" + = "select_rel 1" +<]> = "select_rel 1" + = "select_abs 0" + = "select_abs -1" # Panning -J = pan 0 -50 -K = pan 0 50 -H = pan 50 0 -L = pan -50 0 + = "pan 0 -50" + = "pan 0 50" + = "pan 50 0" + = "pan -50 0" -#Zooming - = zoom 1 -I = zoom 1 - = zoom -1 -O = zoom -1 +# Zooming + = "zoom 1" + = "zoom 1" + = "zoom -1" + = "zoom -1" # Other commands -X = remove -F = fullscreen -D = overlay -P = exec echo $imv_path -C = center -S = scaling_mode next -A = zoom actual -R = reset + = "remove" + = "fullscreen" + = "overlay" +

= "exec echo $imv_path" + = "center" + = "scaling_mode next" + = "zoom actual" + = "reset" # Gif playback -. = next_frame - = toggle_playing +<.> = "next_frame" + = "toggle_playing" # Slideshow control -T = slideshow_duration +1 - = slideshow_duration -1 + = "slideshow_duration +1" + = "slideshow_duration -1" diff --git a/src/binds.c b/src/binds.c index f1c4c65..9de63d7 100644 --- a/src/binds.c +++ b/src/binds.c @@ -263,13 +263,6 @@ struct list *imv_bind_parse_keys(const char *keys) list_deep_free(list); return NULL; } - } else { - /* Just a regular character */ - char *item = malloc(2); - item[0] = *keys; - item[1] = 0; - list_append(list, item); - ++keys; } } diff --git a/src/imv.c b/src/imv.c index e0fbfa9..2f72a6f 100644 --- a/src/imv.c +++ b/src/imv.c @@ -185,35 +185,35 @@ struct imv *imv_create(void) imv_command_alias(imv->commands, "n", "select_rel 1"); imv_command_alias(imv->commands, "p", "select_rel -1"); - add_bind(imv, "Q", "quit"); + add_bind(imv, "", "quit"); add_bind(imv, "", "select_rel -1"); - add_bind(imv, "[", "select_rel -1"); + add_bind(imv, "<[>", "select_rel -1"); add_bind(imv, "", "select_rel 1"); - add_bind(imv, "]", "select_rel 1"); - add_bind(imv, "GG", "select_abs 0"); + add_bind(imv, "<]>", "select_rel 1"); + add_bind(imv, "", "select_abs 0"); add_bind(imv, "", "select_abs -1"); - add_bind(imv, "J", "pan 0 -50"); - add_bind(imv, "K", "pan 0 50"); - add_bind(imv, "H", "pan 50 0"); - add_bind(imv, "L", "pan -50 0"); - add_bind(imv, "X", "remove"); - add_bind(imv, "F", "fullscreen"); - add_bind(imv, "D", "overlay"); - add_bind(imv, "P", "exec echo $imv_path"); + add_bind(imv, "", "pan 0 -50"); + add_bind(imv, "", "pan 0 50"); + add_bind(imv, "", "pan 50 0"); + add_bind(imv, "", "pan -50 0"); + add_bind(imv, "", "remove"); + add_bind(imv, "", "fullscreen"); + add_bind(imv, "", "overlay"); + add_bind(imv, "

", "exec echo $imv_path"); add_bind(imv, "", "zoom 1"); add_bind(imv, "", "zoom 1"); - add_bind(imv, "+", "zoom 1"); - add_bind(imv, "I", "zoom 1"); + add_bind(imv, "<+>", "zoom 1"); + add_bind(imv, "", "zoom 1"); add_bind(imv, "", "zoom -1"); - add_bind(imv, "-", "zoom -1"); - add_bind(imv, "O", "zoom -1"); - add_bind(imv, "C", "center"); - add_bind(imv, "S", "scaling_mode next"); - add_bind(imv, "A", "zoom actual"); - add_bind(imv, "R", "reset"); - add_bind(imv, ".", "next_frame"); + add_bind(imv, "<->", "zoom -1"); + add_bind(imv, "", "zoom -1"); + add_bind(imv, "", "center"); + add_bind(imv, "", "scaling_mode next"); + add_bind(imv, "", "zoom actual"); + add_bind(imv, "", "reset"); + add_bind(imv, "<.>", "next_frame"); add_bind(imv, "", "toggle_playing"); - add_bind(imv, "T", "slideshow_duration +1"); + add_bind(imv, "", "slideshow_duration +1"); add_bind(imv, "", "slideshow_duration -1"); return imv; -- cgit v1.2.3