fix workspace interactivity

This commit is contained in:
2025-12-17 22:45:30 +01:00
parent a912cb9687
commit 11ccd55a52
5 changed files with 125 additions and 176 deletions

View File

@@ -2,7 +2,6 @@
#include <cstddef>
#include <glibmm.h>
#include <iostream>
#include <map>
#include <sigc++/sigc++.h>
#include <string>
@@ -43,7 +42,7 @@ class HyprlandService {
void printMonitor(const Monitor &mon) const;
sigc::signal<void(std::string, std::string)> socketEventSignal;
sigc::signal<void(int)> workspaceStateChanged;
sigc::signal<void()> workspaceStateChanged;
sigc::signal<void()> monitorStateChanged;
Monitor *getMonitorById(int id);
@@ -52,14 +51,14 @@ class HyprlandService {
const Monitor *getMonitorByIndex(std::size_t index) const;
void switchToWorkspace(int workspaceId);
std::map<int, WorkspaceState> getAllWorkspaces() const {
std::map<int, WorkspaceState*> getAllWorkspaces() const {
return this->workspaces;
}
private:
int fd = -1;
std::map<int, Monitor> monitors;
std::map<int, WorkspaceState> workspaces;
std::map<int, WorkspaceState*> workspaces;
std::string get_socket_path();
bool on_socket_read(Glib::IOCondition condition);