diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-09-01 17:10:03 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2023-09-01 17:10:03 +0200 |
| commit | bb0933437f4602080a66cc877fee36dce8dcb3ff (patch) | |
| tree | 95cd1e67eddc83f6d435c30418673833e264554c /src/helpers | |
| parent | 5035f5fc682f3307e2130e10d5ba209495113edb (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.cpp | 22 | ||||
| -rw-r--r-- | src/helpers/Monitor.hpp | 4 | ||||
| -rw-r--r-- | src/helpers/Workspace.cpp | 42 | ||||
| -rw-r--r-- | src/helpers/Workspace.hpp | 12 |
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; |
