This commit is contained in:
clayton craft 2026-06-16 22:17:27 -04:00 committed by GitHub
commit 14429c5a69
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 199 additions and 1 deletions

View file

@ -111,6 +111,7 @@ output_enable(struct cg_output *output)
if (wlr_output_commit_state(wlr_output, &state)) {
output_layout_add_auto(output);
}
output->dpms_powered_off = false;
update_output_manager_config(output->server);
}
@ -395,6 +396,29 @@ out:
return ok;
}
void
handle_output_power_manager_set_mode(struct wl_listener *listener, void *data)
{
struct wlr_output_power_v1_set_mode_event *event = data;
struct cg_output *output = event->output->data;
if (event->mode == ZWLR_OUTPUT_POWER_V1_MODE_ON) {
if (!output->dpms_powered_off) {
return;
}
output->dpms_powered_off = false;
} else {
output->dpms_powered_off = true;
}
struct wlr_output_state state = {0};
wlr_output_state_set_enabled(&state, event->mode == ZWLR_OUTPUT_POWER_V1_MODE_ON);
if (!wlr_output_commit_state(output->wlr_output, &state)) {
wlr_log(WLR_ERROR, "Failed to set power mode for output %s", output->wlr_output->name);
}
}
void
handle_output_manager_apply(struct wl_listener *listener, void *data)
{