aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/commands/output.c8
-rw-r--r--sway/commands/output/enable.c9
-rw-r--r--sway/config/output.c4
3 files changed, 12 insertions, 9 deletions
diff --git a/sway/commands/output.c b/sway/commands/output.c
index 74ca9d0b..85b7fd23 100644
--- a/sway/commands/output.c
+++ b/sway/commands/output.c
@@ -1,3 +1,4 @@
+#include <strings.h>
#include "sway/commands.h"
#include "sway/config.h"
#include "sway/output.h"
@@ -26,6 +27,13 @@ struct cmd_results *cmd_output(int argc, char **argv) {
return error;
}
+ // The NOOP-1 output is a dummy output used when there's no outputs
+ // connected. It should never be configured.
+ if (strcasecmp(argv[0], "NOOP-1") == 0) {
+ return cmd_results_new(CMD_FAILURE,
+ "Refusing to configure the no op output");
+ }
+
struct output_config *output = new_output_config(argv[0]);
if (!output) {
sway_log(SWAY_ERROR, "Failed to allocate output config");
diff --git a/sway/commands/output/enable.c b/sway/commands/output/enable.c
index 0c98b481..bae3961f 100644
--- a/sway/commands/output/enable.c
+++ b/sway/commands/output/enable.c
@@ -1,4 +1,3 @@
-#include <strings.h>
#include "sway/commands.h"
#include "sway/config.h"
@@ -7,14 +6,6 @@ struct cmd_results *output_cmd_enable(int argc, char **argv) {
return cmd_results_new(CMD_FAILURE, "Missing output config");
}
- // The NOOP-1 output is a dummy output used when there's no outputs
- // connected. It should never be enabled.
- char *output_name = config->handler_context.output_config->name;
- if (strcasecmp(output_name, "NOOP-1") == 0) {
- return cmd_results_new(CMD_FAILURE,
- "Refusing to enable the no op output");
- }
-
config->handler_context.output_config->enabled = 1;
config->handler_context.leftovers.argc = argc;
diff --git a/sway/config/output.c b/sway/config/output.c
index ec833ffe..cc5f29db 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -176,6 +176,10 @@ void terminate_swaybg(pid_t pid) {
}
bool apply_output_config(struct output_config *oc, struct sway_output *output) {
+ if (output == root->noop_output) {
+ return false;
+ }
+
struct wlr_output *wlr_output = output->wlr_output;
if (oc && !oc->enabled) {