diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2011-01-15 11:01:02 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2011-01-15 11:01:02 +0100 | 
| commit | 11d7a68de63112305d833e802db0b4654c846b77 (patch) | |
| tree | acbfba53acc4b802b1e49ab2c3902d1417660377 | |
| parent | 9c1f7c9b7fc346c1b09338788e06ba70128820ca (diff) | |
Check XDG_CONFIG_HOME for feh/keys as well
| -rw-r--r-- | src/keyevents.c | 15 | 
1 files changed, 12 insertions, 3 deletions
| diff --git a/src/keyevents.c b/src/keyevents.c index 91fa8a4..8e7251d 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -84,7 +84,9 @@ static void feh_set_parse_kb_partial(fehkey *key, int index, char *ks) {  }  void init_keyevents(void) { -	char *home, *confpath; +	char *home = NULL; +	char *confhome = NULL; +	char *confpath = NULL;  	char line[128];  	char action[32], k1[32], k2[32], k3[32];  	struct __fehkey *cur_kb = NULL; @@ -149,9 +151,17 @@ void init_keyevents(void) {  	if (!home)  		eprintf("No HOME in environment\n"); -	confpath = estrjoin("/", home, ".config/feh/keys", NULL); +	confhome = getenv("XDG_CONFIG_HOME"); + +	if (confhome) +		confpath = estrjoin("/", confhome, "feh/keys", NULL); +	else +		confpath = estrjoin("/", home, ".config/feh/keys", NULL); +  	conf = fopen(confpath, "r"); +	free(confpath); +  	if (!conf)  		return; @@ -279,7 +289,6 @@ void init_keyevents(void) {  		}  	}  	fclose(conf); -	free(confpath);  }  static short feh_is_kp(fehkey *key, int sym, int state) { | 
