summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2025-01-04 17:21:02 +0100
committervaxerski <vaxry@vaxry.net>2025-01-04 17:21:02 +0100
commita25d228840dfac88160b6f6c9513b5a587119f67 (patch)
treedb0bc4af6d309e77ab79a73b4a85dd20b8cf951b /src/events/Windows.cpp
parent60f069d54015fec66e63f1ff7e6ff26ddb349976 (diff)
windows: minor initial workspace improvements
ref #8942
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index c17c425b..a20cbcad 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -121,16 +121,6 @@ void Events::listener_mapWindow(void* owner, void* data) {
PWINDOW->m_bX11ShouldntFocus = PWINDOW->m_bX11ShouldntFocus || (PWINDOW->m_bIsX11 && PWINDOW->isX11OverrideRedirect() && !PWINDOW->m_pXWaylandSurface->wantsFocus());
- if (PWORKSPACE->m_bDefaultFloating)
- PWINDOW->m_bIsFloating = true;
-
- if (PWORKSPACE->m_bDefaultPseudo) {
- PWINDOW->m_bIsPseudotiled = true;
- CBox desiredGeometry = {0};
- g_pXWaylandManager->getGeometryForWindow(PWINDOW, &desiredGeometry);
- PWINDOW->m_vPseudoSize = Vector2D(desiredGeometry.width, desiredGeometry.height);
- }
-
// window rules
PWINDOW->m_vMatchedRules = g_pConfigManager->getMatchingRules(PWINDOW, false);
std::optional<eFullscreenMode> requestedInternalFSMode, requestedClientFSMode;
@@ -171,6 +161,7 @@ void Events::listener_mapWindow(void* owner, void* data) {
PMONITOR = PMONITORFROMID;
}
PWINDOW->m_pWorkspace = PMONITOR->activeSpecialWorkspace ? PMONITOR->activeSpecialWorkspace : PMONITOR->activeWorkspace;
+ PWORKSPACE = PWINDOW->m_pWorkspace;
Debug::log(LOG, "Rule monitor, applying to {:mw}", PWINDOW);
} catch (std::exception& e) { Debug::log(ERR, "Rule monitor failed, rule: {} -> {} | err: {}", r->szRule, r->szValue, e.what()); }
@@ -180,11 +171,10 @@ void Events::listener_mapWindow(void* owner, void* data) {
// check if it isnt unset
const auto WORKSPACERQ = r->szRule.substr(r->szRule.find_first_of(' ') + 1);
- if (WORKSPACERQ == "unset") {
+ if (WORKSPACERQ == "unset")
requestedWorkspace = "";
- } else {
+ else
requestedWorkspace = WORKSPACERQ;
- }
const auto JUSTWORKSPACE = WORKSPACERQ.contains(' ') ? WORKSPACERQ.substr(0, WORKSPACERQ.find_first_of(' ')) : WORKSPACERQ;
@@ -347,6 +337,16 @@ void Events::listener_mapWindow(void* owner, void* data) {
workspaceSilent = false;
}
+ if (PWORKSPACE->m_bDefaultFloating)
+ PWINDOW->m_bIsFloating = true;
+
+ if (PWORKSPACE->m_bDefaultPseudo) {
+ PWINDOW->m_bIsPseudotiled = true;
+ CBox desiredGeometry = {0};
+ g_pXWaylandManager->getGeometryForWindow(PWINDOW, &desiredGeometry);
+ PWINDOW->m_vPseudoSize = Vector2D(desiredGeometry.width, desiredGeometry.height);
+ }
+
PWINDOW->updateWindowData();
// Verify window swallowing. Get the swallower before calling onWindowCreated(PWINDOW) because getSwallower() wouldn't get it after if PWINDOW gets auto grouped.