┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinmainwindow.cpp
diff options
context:
space:
mode:
authorMéven Car <[email protected]>2023-04-20 08:50:40 +0000
committerMéven Car <[email protected]>2023-04-20 08:50:40 +0000
commitb99f6f50eef395a3ceb88fb3d4b7357cbbc13c85 (patch)
tree6ce4ff75c186a7617b5083a05cfc1874d447c59b /src/dolphinmainwindow.cpp
parent620c2caa4bd8d8e28018bc41e75b05da64cebd88 (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.cpp25
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);