diff options
author | pablomartin4btc <pablomartin4btc@gmail.com> | 2024-07-30 17:24:36 -0300 |
---|---|---|
committer | pablomartin4btc <pablomartin4btc@gmail.com> | 2024-08-02 13:56:38 -0300 |
commit | 15aa7d023688700a47997b92108de95f2d864f5a (patch) | |
tree | d2a2ae6f651f8ce3f07abb34b680873004022490 /src/qt/guiutil.cpp | |
parent | d367a4e36f7357c4ebd018e8e1c9c5071db2e1c2 (diff) |
gui, qt: brintToFront workaround for Wayland
Diffstat (limited to 'src/qt/guiutil.cpp')
-rw-r--r-- | src/qt/guiutil.cpp | 27 |
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(); } } |