From e749af7b60386f4ff414ef3e2e804523046e46a9 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Mon, 13 Mar 2023 15:19:25 +0000 Subject: dispatchers: remember named workspaces in prev --- src/helpers/MiscFunctions.cpp | 6 +++--- src/helpers/Workspace.hpp | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src/helpers') diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp index ab3c826e..de385e9b 100644 --- a/src/helpers/MiscFunctions.cpp +++ b/src/helpers/MiscFunctions.cpp @@ -297,7 +297,7 @@ int getWorkspaceIDFromString(const std::string& in, std::string& outName) { if (!PWORKSPACE) return INT_MAX; - const auto PLASTWORKSPACE = g_pCompositor->getWorkspaceByID(PWORKSPACE->m_iPrevWorkspaceID); + const auto PLASTWORKSPACE = g_pCompositor->getWorkspaceByID(PWORKSPACE->m_sPrevWorkspace.iID); if (!PLASTWORKSPACE) return INT_MAX; @@ -470,8 +470,8 @@ int64_t getPPIDof(int64_t pid) { return 0; #else - std::string dir = "/proc/" + std::to_string(pid) + "/status"; - FILE* infile; + std::string dir = "/proc/" + std::to_string(pid) + "/status"; + FILE* infile; infile = fopen(dir.c_str(), "r"); if (!infile) diff --git a/src/helpers/Workspace.hpp b/src/helpers/Workspace.hpp index 2fa29d1c..d70702fd 100644 --- a/src/helpers/Workspace.hpp +++ b/src/helpers/Workspace.hpp @@ -23,7 +23,11 @@ class CWorkspace { uint64_t m_iMonitorID = -1; // Previous workspace ID is stored during a workspace change, allowing travel // to the previous workspace. - int m_iPrevWorkspaceID = -1; + struct SPrevWorkspaceData { + int iID = -1; + std::string name = ""; + } m_sPrevWorkspace; + bool m_bHasFullscreenWindow = false; eFullscreenMode m_efFullscreenMode = FULLSCREEN_FULL; -- cgit v1.2.3