summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-12-23 15:49:42 +0100
committervaxerski <vaxry@vaxry.net>2023-12-23 15:49:42 +0100
commitcc0516a9aeb36d116f1de06965c827dc91e12073 (patch)
tree3be60cebc1573538df3b50bfb3bf068ccb67c01a /src
parent6c8e0f9863d86755d7931a9d6ad920b2049cf6a6 (diff)
windowrules: minor fixes to onworkspace
fixes #4227
Diffstat (limited to 'src')
-rw-r--r--src/Window.cpp2
-rw-r--r--src/config/ConfigManager.cpp4
-rw-r--r--src/events/Windows.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/Window.cpp b/src/Window.cpp
index 11627d5c..1c4a326d 100644
--- a/src/Window.cpp
+++ b/src/Window.cpp
@@ -487,8 +487,6 @@ void CWindow::onMap() {
"CWindow");
m_vReportedSize = m_vPendingReportedSize;
-
- g_pCompositor->updateWorkspaceWindows(m_iWorkspaceID);
}
void CWindow::onBorderAngleAnimEnd(void* ptr) {
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index 477c3986..7e4ce769 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -1038,9 +1038,9 @@ void CConfigManager::handleWindowRuleV2(const std::string& command, const std::s
// find workspacepos that isn't onworkspacepos
size_t WORKSPACEPOS = std::string::npos;
- size_t currentPos = 0;
+ size_t currentPos = VALUE.find("workspace:");
while (currentPos != std::string::npos) {
- if (currentPos > 0 && VALUE[currentPos - 1] != 'n') {
+ if (currentPos == 0 || VALUE[currentPos - 1] != 'n') {
WORKSPACEPOS = currentPos;
break;
}
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 46427166..ce5103ee 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -643,6 +643,8 @@ void Events::listener_mapWindow(void* owner, void* data) {
// fix some xwayland apps that don't behave nicely
PWINDOW->m_vReportedSize = PWINDOW->m_vPendingReportedSize;
+
+ g_pCompositor->updateWorkspaceWindows(PWINDOW->m_iWorkspaceID);
}
void Events::listener_unmapWindow(void* owner, void* data) {