summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-05 18:04:44 +0000
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-11-05 18:04:44 +0000
commit5a750b485aca8b2fd5545cfe86b3a48c69355d65 (patch)
treeb5624dc630450152a52889968805e2f7faee0c40 /src/render/Renderer.cpp
parenta71f44baa521e2fb867db8536d7766e7d02f3e32 (diff)
Added creating / destroying outputs on a multi-backend + headless backend
See `hyprctl output`.
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 3858b24e..2e7c5433 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -1347,6 +1347,13 @@ bool CHyprRenderer::applyMonitorRule(CMonitor* pMonitor, SMonitorRule* pMonitorR
pMonitor->vecSize = (Vector2D(x, y) / pMonitor->scale).floor();
pMonitor->vecTransformedSize = Vector2D(x,y);
+ if (pMonitor->createdByUser) {
+ wlr_box transformedBox = { 0, 0, (int)pMonitor->vecTransformedSize.x, (int)pMonitor->vecTransformedSize.y };
+ wlr_box_transform(&transformedBox, &transformedBox, wlr_output_transform_invert(pMonitor->output->transform), (int)pMonitor->vecTransformedSize.x, (int)pMonitor->vecTransformedSize.y);
+
+ pMonitor->vecPixelSize = Vector2D(transformedBox.width, transformedBox.height);
+ }
+
if (pMonitorRule->offset == Vector2D(-1, -1) && pMonitor->vecPosition == Vector2D(-1, -1)) {
// let's find manually a sensible position for it, to the right.
Vector2D finalPos;