aboutsummaryrefslogtreecommitdiff
path: root/rootston/config.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-10-09 08:09:03 -0400
committerGitHub <noreply@github.com>2017-10-09 08:09:03 -0400
commitd0d6413772a09f385bc16f5fc38eda114695ee16 (patch)
tree59ea3b1a314ede560f90f6e8b1058c1b54b90161 /rootston/config.c
parent7aa0e949b3849428aad426533e719562d7bb8ef9 (diff)
parent9cab66f0f914a0194cdfa178377f6413c33ac515 (diff)
Merge pull request #220 from versusvoid/optional-xwayland
Make Xwayland optional
Diffstat (limited to 'rootston/config.c')
-rw-r--r--rootston/config.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/rootston/config.c b/rootston/config.c
index d454c2d9..4918c8dd 100644
--- a/rootston/config.c
+++ b/rootston/config.c
@@ -5,6 +5,7 @@
#include <limits.h>
#include <getopt.h>
#include <string.h>
+#include <strings.h>
#include <unistd.h>
#include <sys/param.h>
#include <wlr/util/log.h>
@@ -114,7 +115,19 @@ static const char *device_prefix = "device:";
static int config_ini_handler(void *user, const char *section, const char *name,
const char *value) {
struct roots_config *config = user;
- if (strncmp(output_prefix, section, strlen(output_prefix)) == 0) {
+ if (strcmp(section, "core") == 0) {
+ if (strcmp(name, "xwayland") == 0) {
+ if (strcasecmp(value, "true") == 0) {
+ config->xwayland = true;
+ } else if (strcasecmp(value, "false") == 0) {
+ config->xwayland = false;
+ } else {
+ wlr_log(L_ERROR, "got unknown xwayland value: %s", value);
+ }
+ } else {
+ wlr_log(L_ERROR, "got unknown core config: %s", name);
+ }
+ } else if (strncmp(output_prefix, section, strlen(output_prefix)) == 0) {
const char *output_name = section + strlen(output_prefix);
struct output_config *oc;
bool found = false;
@@ -251,6 +264,7 @@ static int config_ini_handler(void *user, const char *section, const char *name,
struct roots_config *parse_args(int argc, char *argv[]) {
struct roots_config *config = calloc(1, sizeof(struct roots_config));
+ config->xwayland = true;
wl_list_init(&config->outputs);
wl_list_init(&config->devices);
wl_list_init(&config->bindings);