diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2016-02-10 22:26:33 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2016-02-10 22:26:33 +0100 | 
| commit | f3d11d516adad61a99ec1e1a7585f33c0773114e (patch) | |
| tree | b1788759e5732153a121960058ce9649a8b54a57 /src | |
| parent | dc64b30d981d7a368d7b11aef19ec60b6f05dbbd (diff) | |
add preliminary action-title support (#224)
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; | 
