diff options
| author | Méven Car <[email protected]> | 2023-04-20 08:50:40 +0000 |
|---|---|---|
| committer | Méven Car <[email protected]> | 2023-04-20 08:50:40 +0000 |
| commit | b99f6f50eef395a3ceb88fb3d4b7357cbbc13c85 (patch) | |
| tree | 6ce4ff75c186a7617b5083a05cfc1874d447c59b /src/dolphinmainwindow.cpp | |
| parent | 620c2caa4bd8d8e28018bc41e75b05da64cebd88 (diff) | |
Restrict attaching instances to those on the same activity or same virtual desktop
CCBUG: 408919
Diffstat (limited to 'src/dolphinmainwindow.cpp')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 5061a10af..76b8ded6f 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -277,6 +277,31 @@ void DolphinMainWindow::openFiles(const QStringList &files, bool splitView) openFiles(QUrl::fromStringList(files), splitView); } +bool DolphinMainWindow::isOnCurrentDesktop() const +{ +#if HAVE_X11 + if (KWindowSystem::isPlatformX11()) { + const NET::Properties properties = NET::WMDesktop; + KWindowInfo info(this->winId(), properties); + return info.isOnCurrentDesktop(); + } +#endif + return true; +} + +bool DolphinMainWindow::isOnActivity(const QString &activityId) const +{ +#if HAVE_X11 && HAVE_KACTIVITIES + if (KWindowSystem::isPlatformX11()) { + const NET::Properties properties = NET::Supported; + const NET::Properties2 properties2 = NET::WM2Activities; + KWindowInfo info(this->winId(), properties, properties2); + return info.activities().contains(activityId); + } +#endif + return true; +} + void DolphinMainWindow::activateWindow(const QString &activationToken) { window()->setAttribute(Qt::WA_NativeWindow, true); |
