Merge pull request #25 from mstap/xdg-fixes
Use libxdg-basedir for proper XDG behavior
This commit is contained in:
		
						commit
						31e2e47142
					
				| @ -131,8 +131,8 @@ In order to do that you have to add a hint via the -h option. | ||||
| =head1 CONFIGURATION | ||||
| 
 | ||||
| An example configuration file is included (usually /usr/share/dunst/dunstrc). | ||||
| To change the configuration, copy this file to ~/.config/dunstrc and edit it | ||||
| accordingly. | ||||
| To change the configuration, copy this file to ~/.config/dunst/dunstrc and edit | ||||
| it accordingly. | ||||
| 
 | ||||
| =head1 AUTHOR | ||||
| 
 | ||||
|  | ||||
| @ -17,8 +17,8 @@ XINERAMAFLAGS = -DXINERAMA | ||||
| INIFLAGS = -DINI_ALLOW_MULTILINE=0 | ||||
| 
 | ||||
| # includes and libs
 | ||||
| INCS = -I${X11INC} -I/usr/lib/dbus-1.0/include -I/usr/include/dbus-1.0 ${XFTINC} | ||||
| LIBS = -L${X11LIB} -lX11 -lXss -ldbus-1 ${XFTLIBS} ${XINERAMALIBS} | ||||
| INCS = -I${X11INC} $(shell pkg-config --cflags dbus-1 libxdg-basedir) ${XFTINC} | ||||
| LIBS = -L${X11LIB} -lX11 -lXss ${XFTLIBS} ${XINERAMALIBS} $(shell pkg-config --libs dbus-1 libxdg-basedir) | ||||
| 
 | ||||
| # flags
 | ||||
| CPPFLAGS = -D_BSD_SOURCE -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} ${INIFLAGS} | ||||
|  | ||||
							
								
								
									
										33
									
								
								dunst.c
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								dunst.c
									
									
									
									
									
								
							| @ -16,6 +16,8 @@ | ||||
| #include <X11/extensions/Xinerama.h> | ||||
| #endif | ||||
| #include <X11/extensions/scrnsaver.h> | ||||
| #include <basedir.h> | ||||
| #include <basedir_fs.h> | ||||
| 
 | ||||
| #include "dunst.h" | ||||
| #include "draw.h" | ||||
| @ -1056,33 +1058,32 @@ dunst_ini_handle(void *user_data, const char *section, | ||||
| void | ||||
| parse_dunstrc(void) { | ||||
| 
 | ||||
|     char *config_path = NULL; | ||||
|     xdgHandle xdg; | ||||
|     FILE *config_file; | ||||
| 
 | ||||
|     dunst_printf(DEBUG, "Begin parsing of dunstrc\n"); | ||||
| 
 | ||||
|     xdgInitHandle(&xdg); | ||||
| 
 | ||||
|     config_file = xdgConfigOpen("dunst/dunstrc", "r", &xdg); | ||||
|     if (config_file == NULL) { | ||||
|         /* Fall back to just "dunstrc", which was used before 2012-06-23
 | ||||
|          * (before v0.2). */ | ||||
|         config_file = xdgConfigOpen("dunstrc", "r", &xdg); | ||||
|         if (config_file == NULL) { | ||||
|         config_file = malloc(sizeof(char) * BUFSIZ); | ||||
|         memset(config_file, '\0', BUFSIZ); | ||||
| 
 | ||||
|         config_path = getenv("XDG_CONFIG_HOME"); | ||||
| 
 | ||||
|         if (!config_path) { | ||||
|             puts("no dunstrc found -> skipping\n"); | ||||
|             xdgWipeHandle(&xdg); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         strcat(config_file, config_path); | ||||
|         strcat(config_file, "/"); | ||||
|         strcat(config_file, "dunstrc"); | ||||
|     } | ||||
| 
 | ||||
|     dunst_printf(DEBUG, "Reading %s\n", config_file); | ||||
| 
 | ||||
|     if (ini_parse(config_file, dunst_ini_handle, NULL) < 0) { | ||||
|         puts("no dunstrc found -> skipping\n"); | ||||
|     if (ini_parse_file(config_file, dunst_ini_handle, NULL) < 0) { | ||||
|         puts("dunstrc could not be parsed -> skipping\n"); | ||||
|     } | ||||
| 
 | ||||
|     fclose(config_file); | ||||
|     xdgWipeHandle(&xdg); | ||||
| 
 | ||||
|     print_rules(); | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sascha Kruse
						Sascha Kruse