diff --git a/res/config.ini b/res/config.ini index 72b333b..2e9e6e8 100644 --- a/res/config.ini +++ b/res/config.ini @@ -100,6 +100,9 @@ # xorg server command #x_cmd = /usr/bin/X +# xinitrc +#xinitrc = ~/.xinitrc + # xorg setup command #x_cmd_setup = /etc/ly/xsetup.sh diff --git a/src/config.c b/src/config.c index 0881bfc..bf7f20e 100644 --- a/src/config.c +++ b/src/config.c @@ -190,6 +190,7 @@ void config_load(const char *cfg_path) {"wayland_specifier", &config.wayland_specifier, config_handle_bool}, {"waylandsessions", &config.waylandsessions, config_handle_str}, {"x_cmd", &config.x_cmd, config_handle_str}, + {"xinitrc", &config.xinitrc, config_handle_str}, {"x_cmd_setup", &config.x_cmd_setup, config_handle_str}, {"xauth_cmd", &config.xauth_cmd, config_handle_str}, {"xsessions", &config.xsessions, config_handle_str}, @@ -296,6 +297,7 @@ void config_defaults() config.wayland_specifier = false; config.waylandsessions = strdup("/usr/share/wayland-sessions"); config.x_cmd = strdup("/usr/bin/X"); + config.xinitrc = strdup("~/.xinitrc"); config.x_cmd_setup = strdup(DATADIR "/xsetup.sh"); config.xauth_cmd = strdup("/usr/bin/xauth"); config.xsessions = strdup("/usr/share/xsessions"); @@ -364,6 +366,7 @@ void config_free() free(config.wayland_cmd); free(config.waylandsessions); free(config.x_cmd); + free(config.xinitrc); free(config.x_cmd_setup); free(config.xauth_cmd); free(config.xsessions); diff --git a/src/config.h b/src/config.h index 7d426af..67985bb 100644 --- a/src/config.h +++ b/src/config.h @@ -94,6 +94,7 @@ struct config bool wayland_specifier; char* waylandsessions; char* x_cmd; + char* xinitrc; char* x_cmd_setup; char* xauth_cmd; char* xsessions; diff --git a/src/inputs.c b/src/inputs.c index d425c06..69a7e9b 100644 --- a/src/inputs.c +++ b/src/inputs.c @@ -82,7 +82,7 @@ void input_desktop(struct desktop* target) target->len = 0; input_desktop_add(target, strdup(lang.shell), strdup(""), DS_SHELL); - input_desktop_add(target, strdup(lang.xinitrc), strdup("~/.xinitrc"), DS_XINITRC); + input_desktop_add(target, strdup(lang.xinitrc), strdup(config.xinitrc), DS_XINITRC); #if 0 input_desktop_add(target, strdup(lang.wayland), strdup(""), DS_WAYLAND); #endif