Commit 03e7e6ccdf37a78444abb5a508042a6f615df4e0 Parent: 58e796b69bf3f9205404d2cec9210a942c95f336 Author: mcol <mcol@posteo.net> Date: 2021-01-23 00:24:02 +0000 Committer: mcol <mcol@posteo.net> Committed: 2021-01-23 00:24:02 +0000 just always load defaults prior to loading config
src/deskwm.c Modified
@@ -87,9 +87,8 @@ server.current_desk = wl_container_of(server.desks.next, server.current_desk, link); // configure - load_defaults(&server); locate_config(&server); - load_config(&server, NULL); + load_config(&server); set_up_outputs(&server); set_up_shell(&server); set_up_cursor(&server);
src/config.h Modified
@@ -4,8 +4,7 @@ #include "types.h" void assign_colour(char *hex, float dest[4]); -void load_defaults(struct server *server); -void load_config(struct server *server, FILE *stream); +void load_config(struct server *server); void locate_config(struct server *server); #endif
src/config.c Modified
@@ -298,24 +298,7 @@ } -void load_defaults(struct server *server) { - char *buffer = NULL; - size_t size = 0; - FILE *stream = open_memstream(&buffer, &size); - fprintf(stream, DEFAULT_CONFIG); - rewind(stream); - load_config(server, stream); - free(buffer); -} - - -void load_config(struct server *server, FILE *stream) { - if (stream == NULL) { - if (server->config_file == NULL) { - return; - } - stream = fopen(server->config_file, "r"); - } +void parse_config(struct server *server, FILE *stream) { char *s; char linebuf[1024]; int line = 0; @@ -357,8 +340,28 @@ server->vt_switching = false; } } +} + + +void load_config(struct server *server) { + FILE *stream; + + // load defaults + char *buffer = NULL; + size_t size = 0; + stream = open_memstream(&buffer, &size); + fprintf(stream, DEFAULT_CONFIG); + rewind(stream); + parse_config(server, stream); + free(buffer); fclose(stream); + // load custom configuration file + if (server->config_file) { + stream = fopen(server->config_file, "r"); + fclose(stream); + } + setup_vt_switching(server); }
src/action.c Modified
@@ -294,6 +294,5 @@ void reload_config(struct server *server, void *data) { - load_defaults(server); - load_config(server, NULL); + load_config(server); }