aboutsummaryrefslogtreecommitdiff
path: root/src/qt/guiutil.cpp
diff options
context:
space:
mode:
authorpablomartin4btc <pablomartin4btc@gmail.com>2024-07-30 17:24:36 -0300
committerpablomartin4btc <pablomartin4btc@gmail.com>2024-08-02 13:56:38 -0300
commit15aa7d023688700a47997b92108de95f2d864f5a (patch)
treed2a2ae6f651f8ce3f07abb34b680873004022490 /src/qt/guiutil.cpp
parentd367a4e36f7357c4ebd018e8e1c9c5071db2e1c2 (diff)
gui, qt: brintToFront workaround for Wayland
Diffstat (limited to 'src/qt/guiutil.cpp')
-rw-r--r--src/qt/guiutil.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index ee841ce626..7d725be73c 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -406,19 +406,26 @@ bool isObscured(QWidget *w)
void bringToFront(QWidget* w)
{
-#ifdef Q_OS_MACOS
- ForceActivation();
-#endif
-
if (w) {
- // activateWindow() (sometimes) helps with keyboard focus on Windows
- if (w->isMinimized()) {
- w->showNormal();
- } else {
+ if (QGuiApplication::platformName() == "wayland") {
+ auto flags = w->windowFlags();
+ w->setWindowFlags(flags|Qt::WindowStaysOnTopHint);
+ w->show();
+ w->setWindowFlags(flags);
w->show();
+ } else {
+#ifdef Q_OS_MACOS
+ ForceActivation();
+#endif
+ // activateWindow() (sometimes) helps with keyboard focus on Windows
+ if (w->isMinimized()) {
+ w->showNormal();
+ } else {
+ w->show();
+ }
+ w->activateWindow();
+ w->raise();
}
- w->activateWindow();
- w->raise();
}
}