f6850d1541a5c895b0b9e8e223706a472e1a209c
- Author
- outfoxxed <outfoxxed@outfoxxed.me>
- Committer
- outfoxxed <outfoxxed@outfoxxed.me>
- Date
Message
Merge remote-tracking branch 'dridus/rmm/special-workspace-support' into special-workspace
Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index f5cae4fa4b7a2ae79c62e6c8ea73e3c21146c0e1..459f64248a51dc83f3d8f23bd30c4469b2fe4a30 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1544,18 +1544,7 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
6 auto window = node->data.as_window();
7 auto root_node = this->getWorkspaceRootGroup(window->m_pWorkspace);
8
9- PHLMONITOR monitor;
10-
11- if (node->workspace->m_bIsSpecialWorkspace) {
12- for (auto& m: g_pCompositor->m_vMonitors) {
13- if (m->activeSpecialWorkspace == node->workspace) {
14- monitor = m;
15- break;
16- }
17- }
18- } else {
19- monitor = g_pCompositor->getMonitorFromID(node->workspace->m_iMonitorID);
20- }
21+ auto monitor = g_pCompositor->getMonitorFromID(node->workspace->m_iMonitorID);
22
23 if (monitor == nullptr) {
24 hy3_log(
25diff --git a/src/dispatchers.cpp b/src/dispatchers.cpp
26index ba152a7c0c51328ccec426da5ed3b3b312e9deaf..27ab212bf6334614259bb9fd40903647b2a51abe 100644
27--- a/src/dispatchers.cpp
28+++ b/src/dispatchers.cpp
29@@ -11,7 +11,8 @@
30 PHLWORKSPACE workspace_for_action(bool allow_fullscreen = false) {
31 if (g_pLayoutManager->getCurrentLayout() != g_Hy3Layout.get()) return nullptr;
32
33- auto workspace = g_pCompositor->m_pLastMonitor->activeWorkspace;
34+ auto workspace = g_pCompositor->m_pLastMonitor->activeSpecialWorkspace;
35+ if (!valid(workspace)) workspace = g_pCompositor->m_pLastMonitor->activeWorkspace;
36
37 if (!valid(workspace)) return nullptr;
38 if (!allow_fullscreen && workspace->m_bHasFullscreenWindow) return nullptr;