mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
output: set custom output mode on wlopm --on
This works around a wlroots issue: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3946 Fixes: #2576
This commit is contained in:
parent
bb64dc81d6
commit
c0526d856d
1 changed files with 22 additions and 0 deletions
22
src/output.c
22
src/output.c
|
|
@ -1073,6 +1073,28 @@ handle_output_power_manager_set_mode(struct wl_listener *listener, void *data)
|
||||||
break;
|
break;
|
||||||
case ZWLR_OUTPUT_POWER_V1_MODE_ON:
|
case ZWLR_OUTPUT_POWER_V1_MODE_ON:
|
||||||
wlr_output_state_set_enabled(&output->pending, true);
|
wlr_output_state_set_enabled(&output->pending, true);
|
||||||
|
if (!event->output->current_mode) {
|
||||||
|
/*
|
||||||
|
* This output uses a custom mode, due to a wlroots DRM
|
||||||
|
* issue we have to ensure the output commit includes a
|
||||||
|
* modeset. This is made more difficult by wlroots
|
||||||
|
* removing a requested change for a custom resolution
|
||||||
|
* from the output state when it matches the wlr_output
|
||||||
|
* one. To in turn work around this issue we temporarily
|
||||||
|
* change the custom wlr_output resolution.
|
||||||
|
*
|
||||||
|
* See: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3946
|
||||||
|
*
|
||||||
|
* TODO: To be removed once the underlying wlroots issue
|
||||||
|
* has been fixed and released. Likely only after
|
||||||
|
* labwc starts tracking wlroots 0.19 to keep older
|
||||||
|
* 0.18.x releases working as expected.
|
||||||
|
*/
|
||||||
|
int width = event->output->width;
|
||||||
|
event->output->width++;
|
||||||
|
wlr_output_state_set_custom_mode(&output->pending, width,
|
||||||
|
event->output->height, event->output->refresh);
|
||||||
|
}
|
||||||
output_state_commit(output);
|
output_state_commit(output);
|
||||||
/*
|
/*
|
||||||
* Re-set the cursor image so that the cursor
|
* Re-set the cursor image so that the cursor
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue