diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2025-06-26 09:32:44 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-26 18:32:44 +0200 |
| commit | 3bbdf9dc5ad2851f5d9f317362fc16705e4fd990 (patch) | |
| tree | 025d7a25435925b235f2e94d18e31931b622c0c0 /src/desktop/Workspace.hpp | |
| parent | 1f337a7a5e22ec45a77e275ce2e6ca165b298358 (diff) | |
protocols: add ext-workspace implementation (#10818)
Diffstat (limited to 'src/desktop/Workspace.hpp')
| -rw-r--r-- | src/desktop/Workspace.hpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/desktop/Workspace.hpp b/src/desktop/Workspace.hpp index 4f109257..5bf38489 100644 --- a/src/desktop/Workspace.hpp +++ b/src/desktop/Workspace.hpp @@ -4,6 +4,7 @@ #include <string> #include "DesktopTypes.hpp" #include "../helpers/MiscFunctions.hpp" +#include "../helpers/signal/Signal.hpp" enum eFullscreenMode : int8_t { FSMODE_NONE = 0, @@ -21,6 +22,8 @@ class CWorkspace { CWorkspace(WORKSPACEID id, PHLMONITOR monitor, std::string name, bool special = false, bool isEmpty = true); ~CWorkspace(); + WP<CWorkspace> m_self; + // Workspaces ID-based have IDs > 0 // and workspaces name-based have IDs starting with -1337 WORKSPACEID m_id = WORKSPACE_INVALID; @@ -60,8 +63,6 @@ class CWorkspace { // Inert: destroyed and invalid. If this is true, release the ptr you have. bool inert(); void startAnim(bool in, bool left, bool instant = false); - void setActive(bool on); - void moveToMonitor(const MONITORID&); MONITORID monitorID(); PHLWINDOW getLastFocusedWindow(); void rememberPrevWorkspace(const PHLWORKSPACE& prevWorkspace); @@ -83,6 +84,13 @@ class CWorkspace { void forceReportSizesToWindows(); void updateWindows(); + struct { + CSignal destroy; + CSignal rename; + CSignal monitorChange; + CSignal activeChange; + } m_events; + private: void init(PHLWORKSPACE self); // Previous workspace ID and name is stored during a workspace change, allowing travel @@ -91,7 +99,6 @@ class CWorkspace { SP<HOOK_CALLBACK_FN> m_focusedWindowHook; bool m_inert = true; - WP<CWorkspace> m_self; }; inline bool valid(const PHLWORKSPACE& ref) { |
