parent
887a64334c
commit
43224bbc7c
@ -1,53 +0,0 @@
|
||||
From 3c85e2e8899d1253430783a618d7584d985bd614 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Tue, 21 Feb 2023 16:03:51 +0100
|
||||
Subject: [PATCH] Use the QScreen of the QWindow as default output
|
||||
|
||||
If the Window::setDesiredOutput API was not called for the QWindow, use
|
||||
QWindow::screen(). This allows assigning QWindows to specific screens using
|
||||
the plain Qt API.
|
||||
|
||||
Passing nullptr to Window::setDesiredOutput explicitly results in nil as
|
||||
desired output for the layer, which lets the compositor select a screen.
|
||||
---
|
||||
src/interfaces/window.cpp | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/interfaces/window.cpp b/src/interfaces/window.cpp
|
||||
index 477b74e..7aa39f4 100644
|
||||
--- a/src/interfaces/window.cpp
|
||||
+++ b/src/interfaces/window.cpp
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <layershellqt_logging.h>
|
||||
|
||||
#include <QPointer>
|
||||
+#include <optional>
|
||||
|
||||
using namespace LayerShellQt;
|
||||
|
||||
@@ -26,7 +27,7 @@ public:
|
||||
Window::KeyboardInteractivity keyboardInteractivity = Window::KeyboardInteractivityExclusive;
|
||||
Window::Layer layer = Window::LayerTop;
|
||||
QMargins margins;
|
||||
- QPointer<QScreen> desiredOutput;
|
||||
+ std::optional<QPointer<QScreen>> desiredOutput;
|
||||
};
|
||||
|
||||
static QMap<QWindow *, Window *> s_map;
|
||||
@@ -103,7 +104,12 @@ Window::Layer Window::layer() const
|
||||
|
||||
QScreen *Window::desiredOutput() const
|
||||
{
|
||||
- return d->desiredOutput;
|
||||
+ // Don't use .value_or here to avoid a temporary QPointer
|
||||
+ if (d->desiredOutput.has_value()) {
|
||||
+ return d->desiredOutput.value();
|
||||
+ }
|
||||
+
|
||||
+ return d->parentWindow->screen();
|
||||
}
|
||||
|
||||
void Window::setDesiredOutput(QScreen *output)
|
||||
--
|
||||
GitLab
|
||||
|
@ -1 +1 @@
|
||||
SHA512 (layer-shell-qt-5.27.1.tar.xz) = c8da1f2052a2b444ac267e84a4eed45beb9cbd754e9579f042c81ceeb0c0db1b963ac111951394dfbc2ff80f65751c4bf742bdf6cc15b3e0766fa5ee02578e63
|
||||
SHA512 (layer-shell-qt-5.27.2.tar.xz) = 5ce3f05b05c3666cd5e957535a4c01c5b92da51e9d2341f314a11b4c9f304cd52f36bfba7e68bfa3cd2d282d35c8a650f20b7ce99327ad68191a96752369ae25
|
||||
|
Loading…
Reference in new issue