Merge pull request #5248 from daher13/fix/refresh-on-changeid

fix(hyprland/workspaces): handle workspace ID changes
This commit is contained in:
Alexis Rouillard
2026-08-13 10:17:16 +02:00
committed by GitHub
3 changed files with 40 additions and 5 deletions
+1
View File
@@ -61,6 +61,7 @@ class Workspace {
void setUrgent(bool value = true) { m_isUrgent = value; };
void setVisible(bool value = true) { m_isVisible = value; };
void setWindows(uint value) { m_windows = value; };
void setId(int value) { m_id = value; };
void setName(std::string const& value) { m_name = value; };
void setOutput(std::string const& value) { m_output = value; };
bool containsWindow(WindowAddress const& addr) const {
+7 -5
View File
@@ -108,6 +108,7 @@ class Workspaces : public AModule, public EventHandler {
Json::Value const& clientsData = Json::Value::nullRef);
void onWorkspaceMoved(std::string const& payload);
void onWorkspaceRenamed(std::string const& payload);
void onWorkspaceIdChanged(std::string const& payload);
static std::optional<int> parseWorkspaceId(std::string const& workspaceIdStr);
// monitor events
@@ -168,11 +169,12 @@ class Workspaces : public AModule, public EventHandler {
enum class SortMethod { ID, NAME, NUMBER, SPECIAL_CENTERED, DEFAULT };
SortMethod m_sortBy = SortMethod::DEFAULT;
static inline const std::map<std::string, SortMethod> m_sortMap = {{"ID", SortMethod::ID},
{"NAME", SortMethod::NAME},
{"NUMBER", SortMethod::NUMBER},
{"SPECIAL-CENTERED", SortMethod::SPECIAL_CENTERED},
{"DEFAULT", SortMethod::DEFAULT}};
static inline const std::map<std::string, SortMethod> m_sortMap = {
{"ID", SortMethod::ID},
{"NAME", SortMethod::NAME},
{"NUMBER", SortMethod::NUMBER},
{"SPECIAL-CENTERED", SortMethod::SPECIAL_CENTERED},
{"DEFAULT", SortMethod::DEFAULT}};
std::string m_formatBefore;
std::string m_formatAfter;