summaryrefslogtreecommitdiff
path: root/src/helpers
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-09-01 17:10:03 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-09-01 17:10:03 +0200
commitbb0933437f4602080a66cc877fee36dce8dcb3ff (patch)
tree95cd1e67eddc83f6d435c30418673833e264554c /src/helpers
parent5035f5fc682f3307e2130e10d5ba209495113edb (diff)
wlr-ext-workspace: remove protocol impl
Various reasons: 1st, memory issues. 2nd, MR got closed (see https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/merge_requests/35) 3rd, not needed anymore (waybar has its own hyprland/workspaces module)
Diffstat (limited to 'src/helpers')
-rw-r--r--src/helpers/Monitor.cpp22
-rw-r--r--src/helpers/Monitor.hpp4
-rw-r--r--src/helpers/Workspace.cpp42
-rw-r--r--src/helpers/Workspace.hpp12
4 files changed, 7 insertions, 73 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp
index d82005e3..5b30e351 100644
--- a/src/helpers/Monitor.cpp
+++ b/src/helpers/Monitor.cpp
@@ -145,13 +145,6 @@ void CMonitor::onConnect(bool noRule) {
Debug::log(LOG, "Added new monitor with name %s at %i,%i with size %ix%i, pointer %lx", output->name, (int)vecPosition.x, (int)vecPosition.y, (int)vecPixelSize.x,
(int)vecPixelSize.y, output);
- // add a WLR workspace group
- if (!pWLRWorkspaceGroupHandle) {
- pWLRWorkspaceGroupHandle = wlr_ext_workspace_group_handle_v1_create(g_pCompositor->m_sWLREXTWorkspaceMgr);
- }
-
- wlr_ext_workspace_group_handle_v1_output_enter(pWLRWorkspaceGroupHandle, output);
-
setupDefaultWS(monitorRule);
for (auto& ws : g_pCompositor->m_vWorkspaces) {
@@ -392,15 +385,11 @@ void CMonitor::setupDefaultWS(const SMonitorRule& monitorRule) {
PNEWWORKSPACE = g_pCompositor->m_vWorkspaces.emplace_back(std::make_unique<CWorkspace>(ID, newDefaultWorkspaceName)).get();
- // We are required to set the name here immediately
- wlr_ext_workspace_handle_v1_set_name(PNEWWORKSPACE->m_pWlrHandle, newDefaultWorkspaceName.c_str());
-
PNEWWORKSPACE->m_iID = WORKSPACEID;
}
activeWorkspace = PNEWWORKSPACE->m_iID;
- g_pCompositor->deactivateAllWLRWorkspaces(PNEWWORKSPACE->m_pWlrHandle);
PNEWWORKSPACE->setActive(true);
PNEWWORKSPACE->m_szLastMonitor = "";
}
@@ -527,14 +516,6 @@ void CMonitor::changeWorkspace(CWorkspace* const pWorkspace, bool internal) {
return;
}
- if (pWorkspace->m_iID == activeWorkspace) {
- // in some cases (e.g. workspace from one monitor to another)
- // we need to send this
- g_pCompositor->deactivateAllWLRWorkspaces(pWorkspace->m_pWlrHandle);
- pWorkspace->setActive(true);
- return;
- }
-
const auto POLDWORKSPACE = g_pCompositor->getWorkspaceByID(activeWorkspace);
activeWorkspace = pWorkspace->m_iID;
@@ -574,9 +555,6 @@ void CMonitor::changeWorkspace(CWorkspace* const pWorkspace, bool internal) {
g_pLayoutManager->getCurrentLayout()->recalculateMonitor(ID);
- // set some flags and fire event
- g_pCompositor->deactivateAllWLRWorkspaces(pWorkspace->m_pWlrHandle);
- pWorkspace->setActive(true);
g_pEventManager->postEvent(SHyprIPCEvent{"workspace", pWorkspace->m_szName});
EMIT_HOOK_EVENT("workspace", pWorkspace);
}
diff --git a/src/helpers/Monitor.hpp b/src/helpers/Monitor.hpp
index d24ca162..9e6fecc5 100644
--- a/src/helpers/Monitor.hpp
+++ b/src/helpers/Monitor.hpp
@@ -93,10 +93,6 @@ class CMonitor {
DYNLISTENER(monitorCommit);
DYNLISTENER(monitorBind);
- // hack: a group = workspaces on a monitor.
- // I don't really care lol :P
- wlr_ext_workspace_group_handle_v1* pWLRWorkspaceGroupHandle = nullptr;
-
// methods
void onConnect(bool noRule);
void onDisconnect();
diff --git a/src/helpers/Workspace.cpp b/src/helpers/Workspace.cpp
index 09149ec8..eed42925 100644
--- a/src/helpers/Workspace.cpp
+++ b/src/helpers/Workspace.cpp
@@ -13,18 +13,6 @@ CWorkspace::CWorkspace(int monitorID, std::string name, bool special) {
m_szName = name;
m_bIsSpecialWorkspace = special;
- if (!special) {
- m_pWlrHandle = wlr_ext_workspace_handle_v1_create(PMONITOR->pWLRWorkspaceGroupHandle);
-
- // set geometry here cuz we can
- wl_array_init(&m_wlrCoordinateArr);
- *reinterpret_cast<int*>(wl_array_add(&m_wlrCoordinateArr, sizeof(int))) = (int)PMONITOR->vecPosition.x;
- *reinterpret_cast<int*>(wl_array_add(&m_wlrCoordinateArr, sizeof(int))) = (int)PMONITOR->vecPosition.y;
- wlr_ext_workspace_handle_v1_set_coordinates(m_pWlrHandle, &m_wlrCoordinateArr);
- wlr_ext_workspace_handle_v1_set_hidden(m_pWlrHandle, false);
- wlr_ext_workspace_handle_v1_set_urgent(m_pWlrHandle, false);
- }
-
m_vRenderOffset.m_pWorkspace = this;
m_vRenderOffset.create(AVARTYPE_VECTOR, special ? g_pConfigManager->getAnimationPropertyConfig("specialWorkspace") : g_pConfigManager->getAnimationPropertyConfig("workspaces"),
nullptr, AVARDAMAGE_ENTIRE);
@@ -45,12 +33,6 @@ CWorkspace::~CWorkspace() {
Debug::log(LOG, "Destroying workspace ID %d", m_iID);
- if (m_pWlrHandle) {
- wlr_ext_workspace_handle_v1_set_active(m_pWlrHandle, false);
- wlr_ext_workspace_handle_v1_destroy(m_pWlrHandle);
- m_pWlrHandle = nullptr;
- }
-
g_pEventManager->postEvent({"destroyworkspace", m_szName});
EMIT_HOOK_EVENT("destroyWorkspace", this);
}
@@ -149,31 +131,11 @@ void CWorkspace::startAnim(bool in, bool left, bool instant) {
}
void CWorkspace::setActive(bool on) {
- if (m_pWlrHandle) {
- wlr_ext_workspace_handle_v1_set_active(m_pWlrHandle, on);
- }
+ ; // empty until https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
}
void CWorkspace::moveToMonitor(const int& id) {
- const auto PMONITOR = g_pCompositor->getMonitorFromID(id);
-
- if (!PMONITOR || m_bIsSpecialWorkspace)
- return;
-
- wlr_ext_workspace_handle_v1_set_active(m_pWlrHandle, false);
- wlr_ext_workspace_handle_v1_destroy(m_pWlrHandle);
-
- m_pWlrHandle = wlr_ext_workspace_handle_v1_create(PMONITOR->pWLRWorkspaceGroupHandle);
-
- // set geometry here cuz we can
- wl_array_init(&m_wlrCoordinateArr);
- *reinterpret_cast<int*>(wl_array_add(&m_wlrCoordinateArr, sizeof(int))) = (int)PMONITOR->vecPosition.x;
- *reinterpret_cast<int*>(wl_array_add(&m_wlrCoordinateArr, sizeof(int))) = (int)PMONITOR->vecPosition.y;
- wlr_ext_workspace_handle_v1_set_coordinates(m_pWlrHandle, &m_wlrCoordinateArr);
- wlr_ext_workspace_handle_v1_set_hidden(m_pWlrHandle, false);
- wlr_ext_workspace_handle_v1_set_urgent(m_pWlrHandle, false);
-
- wlr_ext_workspace_handle_v1_set_name(m_pWlrHandle, m_szName.c_str());
+ ; // empty until https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/40
}
CWindow* CWorkspace::getLastFocusedWindow() {
diff --git a/src/helpers/Workspace.hpp b/src/helpers/Workspace.hpp
index a7ee0e7a..07b5694c 100644
--- a/src/helpers/Workspace.hpp
+++ b/src/helpers/Workspace.hpp
@@ -3,9 +3,9 @@
#include "AnimatedVariable.hpp"
#include <string>
#include "../defines.hpp"
-#include "../wlrunstable/wlr_ext_workspace_v1.hpp"
-enum eFullscreenMode : uint8_t {
+enum eFullscreenMode : uint8_t
+{
FULLSCREEN_FULL = 0,
FULLSCREEN_MAXIMIZED
};
@@ -29,12 +29,10 @@ class CWorkspace {
std::string name = "";
} m_sPrevWorkspace;
- bool m_bHasFullscreenWindow = false;
- eFullscreenMode m_efFullscreenMode = FULLSCREEN_FULL;
+ bool m_bHasFullscreenWindow = false;
+ eFullscreenMode m_efFullscreenMode = FULLSCREEN_FULL;
- wlr_ext_workspace_handle_v1* m_pWlrHandle = nullptr;
-
- wl_array m_wlrCoordinateArr;
+ wl_array m_wlrCoordinateArr;
// for animations
CAnimatedVariable m_vRenderOffset;