diff options
Diffstat (limited to 'sway/config')
-rw-r--r-- | sway/config/output.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index 68022278..ee2440ea 100644 --- a/sway/config/output.c +++ b/sway/config/output.c | |||
@@ -81,6 +81,9 @@ void merge_output_config(struct output_config *dst, struct output_config *src) { | |||
81 | free(dst->background_option); | 81 | free(dst->background_option); |
82 | dst->background_option = strdup(src->background_option); | 82 | dst->background_option = strdup(src->background_option); |
83 | } | 83 | } |
84 | if (src->dpms_state != 0) { | ||
85 | dst->dpms_state = src->dpms_state; | ||
86 | } | ||
84 | } | 87 | } |
85 | 88 | ||
86 | static void set_mode(struct wlr_output *output, int width, int height, | 89 | static void set_mode(struct wlr_output *output, int width, int height, |
@@ -204,6 +207,20 @@ void apply_output_config(struct output_config *oc, struct sway_container *output | |||
204 | execvp(cmd[0], cmd); | 207 | execvp(cmd[0], cmd); |
205 | } | 208 | } |
206 | } | 209 | } |
210 | if (oc && oc->dpms_state != DPMS_IGNORE) { | ||
211 | switch (oc->dpms_state) { | ||
212 | case DPMS_ON: | ||
213 | wlr_log(L_DEBUG, "Turning on screen"); | ||
214 | wlr_output_enable(wlr_output, true); | ||
215 | break; | ||
216 | case DPMS_OFF: | ||
217 | wlr_log(L_DEBUG, "Turning off screen"); | ||
218 | wlr_output_enable(wlr_output, false); | ||
219 | break; | ||
220 | case DPMS_IGNORE: | ||
221 | break; | ||
222 | } | ||
223 | } | ||
207 | } | 224 | } |
208 | 225 | ||
209 | void free_output_config(struct output_config *oc) { | 226 | void free_output_config(struct output_config *oc) { |