aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2021-09-19 16:37:50 +0200
committerLibravatar Simon Ser <contact@emersion.fr>2021-09-28 21:27:15 +0200
commit1bd8e3b4697b334309a8f26c9efd69010f191c2e (patch)
tree976641830aa5cf01482584967f2f312d63868a07
parentreadme: add missing space (diff)
downloadsway-1bd8e3b4697b334309a8f26c9efd69010f191c2e.tar.gz
sway-1bd8e3b4697b334309a8f26c9efd69010f191c2e.tar.zst
sway-1bd8e3b4697b334309a8f26c9efd69010f191c2e.zip
Add support for DRM panel orientation
References: https://github.com/swaywm/wlroots/pull/3205
-rw-r--r--sway/config/output.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sway/config/output.c b/sway/config/output.c
index 9fff79fd..8e937b28 100644
--- a/sway/config/output.c
+++ b/sway/config/output.c
@@ -406,9 +406,16 @@ static void queue_output_config(struct output_config *oc,
406 wlr_output_set_subpixel(wlr_output, oc->subpixel); 406 wlr_output_set_subpixel(wlr_output, oc->subpixel);
407 } 407 }
408 408
409 enum wl_output_transform tr = WL_OUTPUT_TRANSFORM_NORMAL;
409 if (oc && oc->transform >= 0) { 410 if (oc && oc->transform >= 0) {
410 sway_log(SWAY_DEBUG, "Set %s transform to %d", oc->name, oc->transform); 411 tr = oc->transform;
411 wlr_output_set_transform(wlr_output, oc->transform); 412 } else if (wlr_output_is_drm(wlr_output)) {
413 tr = wlr_drm_connector_get_panel_orientation(wlr_output);
414 sway_log(SWAY_DEBUG, "Auto-detected output transform: %d", tr);
415 }
416 if (wlr_output->transform != tr) {
417 sway_log(SWAY_DEBUG, "Set %s transform to %d", oc->name, tr);
418 wlr_output_set_transform(wlr_output, tr);
412 } 419 }
413 420
414 // Apply the scale last before the commit, because the scale auto-detection 421 // Apply the scale last before the commit, because the scale auto-detection