7
7
#include < cstdint>
8
8
#include < map>
9
9
#include < memory>
10
+ #include < optional>
10
11
#include < regex>
11
12
#include < string>
12
13
#include < vector>
@@ -55,7 +56,7 @@ class Workspaces : public AModule, public EventHandler {
55
56
56
57
static Json::Value createMonitorWorkspaceData (std::string const & name,
57
58
std::string const & monitor);
58
- void removeWorkspace (std::string const & name );
59
+ void removeWorkspace (std::string const & workspaceString );
59
60
void setUrgentWorkspace (std::string const & windowaddress);
60
61
61
62
// Config
@@ -74,10 +75,11 @@ class Workspaces : public AModule, public EventHandler {
74
75
void onWorkspaceActivated (std::string const & payload);
75
76
void onSpecialWorkspaceActivated (std::string const & payload);
76
77
void onWorkspaceDestroyed (std::string const & payload);
77
- void onWorkspaceCreated (std::string const & workspaceName ,
78
+ void onWorkspaceCreated (std::string const & payload ,
78
79
Json::Value const & clientsData = Json::Value::nullRef);
79
80
void onWorkspaceMoved (std::string const & payload);
80
81
void onWorkspaceRenamed (std::string const & payload);
82
+ static std::optional<int > parseWorkspaceId (std::string const & workspaceIdStr);
81
83
82
84
// monitor events
83
85
void onMonitorFocused (std::string const & payload);
@@ -93,11 +95,18 @@ class Workspaces : public AModule, public EventHandler {
93
95
94
96
int windowRewritePriorityFunction (std::string const & window_rule);
95
97
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 (
103
+ std::string const & payload);
104
+
96
105
// Update methods
97
106
void doUpdate ();
98
107
void removeWorkspacesToRemove ();
99
108
void createWorkspacesToCreate ();
100
- static std::vector<std::string > getVisibleWorkspaces ();
109
+ static std::vector<int > getVisibleWorkspaces ();
101
110
void updateWorkspaceStates ();
102
111
bool updateWindowsToCreate ();
103
112
0 commit comments