From 5069b53d6c561d0f949cb0aec1d70397a2fb8a90 Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Tue, 18 Jun 2019 22:27:57 -0400 Subject: config/xwayland: retain xwayland status on reload Since xwayland can only be enabled/disabled at launch, the xwayland status should be retained on reload. Having `xwayland enabled|disabled` in the config, should not cause `config->xwayland` to be invalid on reload. This also returns `CMD_FAILURE` with a message that xwayland can only be enabled/disabled on launch when trying to set the invalid status on reload. This allows swaynag to notify the user that the change will not take effect until sway is restarted. --- sway/commands/xwayland.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sway/commands/xwayland.c') diff --git a/sway/commands/xwayland.c b/sway/commands/xwayland.c index b72f3239..62293276 100644 --- a/sway/commands/xwayland.c +++ b/sway/commands/xwayland.c @@ -11,7 +11,12 @@ struct cmd_results *cmd_xwayland(int argc, char **argv) { } #ifdef HAVE_XWAYLAND - config->xwayland = parse_boolean(argv[0], config->xwayland); + bool xwayland = parse_boolean(argv[0], true); + if (config->reloading && config->xwayland != xwayland) { + return cmd_results_new(CMD_FAILURE, + "xwayland can only be enabled/disabled at launch"); + } + config->xwayland = xwayland; #else sway_log(SWAY_INFO, "Ignoring `xwayland` command, " "sway hasn't been built with Xwayland support"); -- cgit v1.2.3