From 17dd06139d7f3189900b383f879d5302b41965b0 Mon Sep 17 00:00:00 2001 From: speedie Date: Fri, 2 Jun 2023 19:00:09 +0200 Subject: [PATCH] fix: argument protocol overriden by config file --- libs/argv.c | 2 ++ libs/conf/config.c | 5 ++++- spmenu.c | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/argv.c b/libs/argv.c index 0f22cef..f71e1c1 100644 --- a/libs/argv.c +++ b/libs/argv.c @@ -21,8 +21,10 @@ void readargs(int argc, char *argv[]) { loadbinds = 0; } else if (!strcmp(argv[j], "-x11") || (!strcmp(argv[j], "--x11"))) { protocol = 0; + protocol_override = 1; } else if (!strcmp(argv[j], "-wl") || (!strcmp(argv[j], "--wayland"))) { protocol = 1; + protocol_override = 1; #if USECONFIG } else if (!strcmp(argv[j], "-cf") || (!strcmp(argv[j], "--config-file"))) { // specify a config file if (argv[j+1]) { diff --git a/libs/conf/config.c b/libs/conf/config.c index 87d361f..6bb3ee5 100644 --- a/libs/conf/config.c +++ b/libs/conf/config.c @@ -76,7 +76,10 @@ void conf_init(void) { config_setting_lookup_int(conf, "managed", &managed); // spmenu.window.managed config_setting_lookup_int(conf, "monitor", &mon); // spmenu.window.monitor config_setting_lookup_int(conf, "alpha", &alpha); // spmenu.window.alpha - config_setting_lookup_int(conf, "protocol", &protocol); // spmenu.window.protocol + + if (!protocol_override) { + config_setting_lookup_int(conf, "protocol", &protocol); // spmenu.window.protocol + } } } diff --git a/spmenu.c b/spmenu.c index f7605fa..ca96f4e 100644 --- a/spmenu.c +++ b/spmenu.c @@ -137,6 +137,7 @@ static int hplength = 0; // high priority static char **hpitems = NULL; // high priority static int *sel_index = NULL; static unsigned int sel_size = 0; +static int protocol_override = 0; static int itemn = 0; // item number static char *embed; // X11 embed