diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/imlib.c | 10 | ||||
-rw-r--r-- | src/options.c | 12 | ||||
-rw-r--r-- | src/options.h | 1 |
3 files changed, 17 insertions, 6 deletions
diff --git a/src/imlib.c b/src/imlib.c index 6d6f979..e6e5b5c 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -1257,9 +1257,9 @@ void feh_draw_actions(winwidget w) for (i = 0; i < 10; i++) { if (opt.actions[i]) { - line = emalloc(strlen(opt.actions[i]) + 5); + line = emalloc(strlen(opt.action_titles[i]) + 5); strcpy(line, "0: "); - line = strcat(line, opt.actions[i]); + line = strcat(line, opt.action_titles[i]); gib_imlib_get_text_size(fn, line, NULL, &tw, &th, IMLIB_TEXT_TO_RIGHT); free(line); if (tw > max_tw) @@ -1289,13 +1289,13 @@ void feh_draw_actions(winwidget w) gib_imlib_text_draw(im, fn, NULL, 1, 1, "defined actions:", IMLIB_TEXT_TO_RIGHT, 255, 255, 255, 255); for (i = 0; i < 10; i++) { - if (opt.actions[i]) { + if (opt.action_titles[i]) { cur_action++; - line = emalloc(strlen(opt.actions[i]) + 5); + line = emalloc(strlen(opt.action_titles[i]) + 5); sprintf(index, "%d", i); strcpy(line, index); strcat(line, ": "); - strcat(line, opt.actions[i]); + strcat(line, opt.action_titles[i]); gib_imlib_text_draw(im, fn, NULL, 2, (cur_action * line_th) + 2, line, diff --git a/src/options.c b/src/options.c index 0a8bbdf..0265156 100644 --- a/src/options.c +++ b/src/options.c @@ -787,10 +787,20 @@ static void feh_parse_option_array(int argc, char **argv, int finalrun) static void check_options(void) { int i; + char *endptr; + for (i = 0; i < 10; i++) { if (opt.actions[i] && !opt.hold_actions[i] && (opt.actions[i][0] == ';')) { opt.hold_actions[i] = 1; - opt.actions[i] = &opt.actions[i][1]; + opt.actions[i] = opt.actions[i] + 1; + } + opt.action_titles[i] = opt.actions[i]; + if (opt.actions[i] && (opt.actions[i][0] == '[')) { + if ((endptr = strchr(opt.actions[i], ']')) != NULL) { + opt.action_titles[i] = opt.actions[i] + 1; + opt.actions[i] = endptr + 1; + *endptr = 0; + } } } diff --git a/src/options.h b/src/options.h index 78deaae..0052d5d 100644 --- a/src/options.h +++ b/src/options.h @@ -83,6 +83,7 @@ struct __fehoptions { char *title; char *thumb_title; char *actions[10]; + char *action_titles[10]; char *fontpath; char *filelistfile; char *menu_font; |