Skip to content

Commit ad54a8d

Browse files
committed
fix(hyprland): support additional v2 events
1 parent 17cee0d commit ad54a8d

File tree

2 files changed

+140
-137
lines changed

2 files changed

+140
-137
lines changed

include/modules/hyprland/workspaces.hpp

+9-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <cstdint>
88
#include <map>
99
#include <memory>
10+
#include <optional>
1011
#include <regex>
1112
#include <string>
1213
#include <vector>
@@ -78,6 +79,7 @@ class Workspaces : public AModule, public EventHandler {
7879
Json::Value const& clientsData = Json::Value::nullRef);
7980
void onWorkspaceMoved(std::string const& payload);
8081
void onWorkspaceRenamed(std::string const& payload);
82+
static std::optional<int> parseWorkspaceId(std::string const& workspaceIdStr);
8183

8284
// monitor events
8385
void onMonitorFocused(std::string const& payload);
@@ -93,11 +95,17 @@ class Workspaces : public AModule, public EventHandler {
9395

9496
int windowRewritePriorityFunction(std::string const& window_rule);
9597

98+
// event payload management
99+
template<typename... Args>
100+
static std::string makePayload(Args const&... args);
101+
static std::pair<std::string, std::string> splitDoublePayload(std::string const& payload);
102+
static std::tuple<std::string, std::string, std::string> splitTriplePayload(std::string const& payload);
103+
96104
// Update methods
97105
void doUpdate();
98106
void removeWorkspacesToRemove();
99107
void createWorkspacesToCreate();
100-
static std::vector<std::string> getVisibleWorkspaces();
108+
static std::vector<int> getVisibleWorkspaces();
101109
void updateWorkspaceStates();
102110
bool updateWindowsToCreate();
103111

0 commit comments

Comments
 (0)