diff --git a/Makefile b/Makefile index 365760d..77bce10 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,9 @@ PREFIX=/usr CC?=gcc CFLAGS?=-O3 -Wall -ALLFLAGS=$(CFLAGS) -I$(IDIR) +# C PreProcessor flags, not C Plus Plus +CPPFLAGS?= +ALLFLAGS=$(CFLAGS) $(CPPFLAGS) -I$(IDIR) LIBS=-lpam diff --git a/src/config.c b/src/config.c index ea71559..44a20b6 100644 --- a/src/config.c +++ b/src/config.c @@ -240,12 +240,11 @@ struct status config_line_handler(void* _config, char* table, char* k, int parse_config(struct config* NNULLABLE config, char* NNULLABLE path) { FILE* fd = fopen(path, "r"); if (fd == NULL) { - perror("fopen"); - (void)fputs( - "Please place a config file at /etc/lidm.ini or set the LIDM_CONF " - "env variable", - stderr); - return -1; + log_perror("fopen"); + log_printf( + " [I] No config, place one at /etc/lidm.ini or set the LIDM_CONF " + "env variable"); + return 0; // Its fine now anyways } bool ret = read_desktop(fd, config, config_line_handler); diff --git a/src/main.c b/src/main.c index c67072c..db2a2e0 100644 --- a/src/main.c +++ b/src/main.c @@ -72,6 +72,7 @@ int main(int argc, char* argv[]) { chvt_str(argv[1]); } + // Copy struct config config = DEFAULT_CONFIG; char* conf_override = getenv("LIDM_CONF"); char* conf_path = conf_override ? conf_override : "/etc/lidm.ini"; diff --git a/src/sessions.c b/src/sessions.c index f8f09b3..4d36bc5 100644 --- a/src/sessions.c +++ b/src/sessions.c @@ -16,9 +16,16 @@ struct source_dir { enum session_type type; char* dir; }; + +#ifndef SESSIONS_XSESSIONS + #define SESSIONS_XSESSIONS "/usr/share/xsessions" +#endif +#ifndef SESSIONS_WAYLAND + #define SESSIONS_WAYLAND "/usr/share/wayland-sessions" +#endif static const struct source_dir SOURCES[] = { - {XORG, "/usr/share/xsessions"}, - {WAYLAND, "/usr/share/wayland-sessions"}, + {XORG, SESSIONS_XSESSIONS}, + {WAYLAND, SESSIONS_WAYLAND}, }; static struct Vector* cb_sessions = NULL;