diff options
| author | vaxerski <vaxry@vaxry.net> | 2023-12-23 15:49:42 +0100 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2023-12-23 15:49:42 +0100 |
| commit | cc0516a9aeb36d116f1de06965c827dc91e12073 (patch) | |
| tree | 3be60cebc1573538df3b50bfb3bf068ccb67c01a /src | |
| parent | 6c8e0f9863d86755d7931a9d6ad920b2049cf6a6 (diff) | |
windowrules: minor fixes to onworkspace
fixes #4227
Diffstat (limited to 'src')
| -rw-r--r-- | src/Window.cpp | 2 | ||||
| -rw-r--r-- | src/config/ConfigManager.cpp | 4 | ||||
| -rw-r--r-- | src/events/Windows.cpp | 2 |
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) { |
