diff options
Diffstat (limited to 'sway/commands/output.c')
-rw-r--r-- | sway/commands/output.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/sway/commands/output.c b/sway/commands/output.c index 4418f23f..5e5d31b3 100644 --- a/sway/commands/output.c +++ b/sway/commands/output.c | |||
@@ -15,8 +15,11 @@ static const struct cmd_handler output_handlers[] = { | |||
15 | { "enable", output_cmd_enable }, | 15 | { "enable", output_cmd_enable }, |
16 | { "max_render_time", output_cmd_max_render_time }, | 16 | { "max_render_time", output_cmd_max_render_time }, |
17 | { "mode", output_cmd_mode }, | 17 | { "mode", output_cmd_mode }, |
18 | { "modeline", output_cmd_modeline }, | ||
18 | { "pos", output_cmd_position }, | 19 | { "pos", output_cmd_position }, |
19 | { "position", output_cmd_position }, | 20 | { "position", output_cmd_position }, |
21 | { "power", output_cmd_power }, | ||
22 | { "render_bit_depth", output_cmd_render_bit_depth }, | ||
20 | { "res", output_cmd_mode }, | 23 | { "res", output_cmd_mode }, |
21 | { "resolution", output_cmd_mode }, | 24 | { "resolution", output_cmd_mode }, |
22 | { "scale", output_cmd_scale }, | 25 | { "scale", output_cmd_scale }, |
@@ -24,6 +27,7 @@ static const struct cmd_handler output_handlers[] = { | |||
24 | { "subpixel", output_cmd_subpixel }, | 27 | { "subpixel", output_cmd_subpixel }, |
25 | { "toggle", output_cmd_toggle }, | 28 | { "toggle", output_cmd_toggle }, |
26 | { "transform", output_cmd_transform }, | 29 | { "transform", output_cmd_transform }, |
30 | { "unplug", output_cmd_unplug }, | ||
27 | }; | 31 | }; |
28 | 32 | ||
29 | struct cmd_results *cmd_output(int argc, char **argv) { | 33 | struct cmd_results *cmd_output(int argc, char **argv) { |
@@ -32,9 +36,9 @@ struct cmd_results *cmd_output(int argc, char **argv) { | |||
32 | return error; | 36 | return error; |
33 | } | 37 | } |
34 | 38 | ||
35 | // The NOOP-1 output is a dummy output used when there's no outputs | 39 | // The HEADLESS-1 output is a dummy output used when there's no outputs |
36 | // connected. It should never be configured. | 40 | // connected. It should never be configured. |
37 | if (strcasecmp(argv[0], root->noop_output->wlr_output->name) == 0) { | 41 | if (strcasecmp(argv[0], root->fallback_output->wlr_output->name) == 0) { |
38 | return cmd_results_new(CMD_FAILURE, | 42 | return cmd_results_new(CMD_FAILURE, |
39 | "Refusing to configure the no op output"); | 43 | "Refusing to configure the no op output"); |
40 | } | 44 | } |
@@ -51,7 +55,7 @@ struct cmd_results *cmd_output(int argc, char **argv) { | |||
51 | if (!sway_output) { | 55 | if (!sway_output) { |
52 | return cmd_results_new(CMD_FAILURE, "Unknown output"); | 56 | return cmd_results_new(CMD_FAILURE, "Unknown output"); |
53 | } | 57 | } |
54 | if (sway_output == root->noop_output) { | 58 | if (sway_output == root->fallback_output) { |
55 | return cmd_results_new(CMD_FAILURE, | 59 | return cmd_results_new(CMD_FAILURE, |
56 | "Refusing to configure the no op output"); | 60 | "Refusing to configure the no op output"); |
57 | } | 61 | } |
@@ -99,15 +103,18 @@ struct cmd_results *cmd_output(int argc, char **argv) { | |||
99 | 103 | ||
100 | bool background = output->background; | 104 | bool background = output->background; |
101 | 105 | ||
102 | output = store_output_config(output); | 106 | store_output_config(output); |
103 | 107 | ||
104 | // If reloading, the output configs will be applied after reading the | 108 | // If reloading, the output configs will be applied after reading the |
105 | // entire config and before the deferred commands so that an auto generated | 109 | // entire config and before the deferred commands so that an auto generated |
106 | // workspace name is not given to re-enabled outputs. | 110 | // workspace name is not given to re-enabled outputs. |
107 | if (!config->reloading && !config->validating) { | 111 | if (!config->reloading && !config->validating) { |
108 | apply_output_config_to_outputs(output); | 112 | apply_all_output_configs(); |
109 | if (background) { | 113 | if (background) { |
110 | spawn_swaybg(); | 114 | if (!spawn_swaybg()) { |
115 | return cmd_results_new(CMD_FAILURE, | ||
116 | "Failed to apply background configuration"); | ||
117 | } | ||
111 | } | 118 | } |
112 | } | 119 | } |
113 | 120 | ||