protocols: add ext-workspace implementation (#10818)

This commit is contained in:
outfoxxed 2025-06-26 09:32:44 -07:00 committed by GitHub
parent 1f337a7a5e
commit 3bbdf9dc5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 510 additions and 22 deletions

View file

@ -70,6 +70,8 @@ CWorkspace::~CWorkspace() {
g_pEventManager->postEvent({.event = "destroyworkspacev2", .data = std::format("{},{}", m_id, m_name)});
EMIT_HOOK_EVENT("destroyWorkspace", this);
}
m_events.destroy.emit();
}
void CWorkspace::startAnim(bool in, bool left, bool instant) {
@ -185,14 +187,6 @@ void CWorkspace::startAnim(bool in, bool left, bool instant) {
}
}
void CWorkspace::setActive(bool on) {
; // empty until https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
}
void CWorkspace::moveToMonitor(const MONITORID& id) {
; // empty until https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
}
PHLWINDOW CWorkspace::getLastFocusedWindow() {
if (!validMapped(m_lastFocusedWindow) || m_lastFocusedWindow->workspaceID() != m_id)
return nullptr;
@ -650,6 +644,7 @@ void CWorkspace::rename(const std::string& name) {
g_pCompositor->ensurePersistentWorkspacesPresent(std::vector<SWorkspaceRule>{WORKSPACERULE}, m_self.lock());
g_pEventManager->postEvent({.event = "renameworkspace", .data = std::to_string(m_id) + "," + m_name});
m_events.rename.emit();
}
void CWorkspace::updateWindows() {