summaryrefslogtreecommitdiff
path: root/src/managers
diff options
context:
space:
mode:
authorIkalco <73481042+ikalco@users.noreply.github.com>2024-07-30 16:33:56 -0500
committerGitHub <noreply@github.com>2024-07-30 23:33:56 +0200
commit3b9b5346b830554aa7470ccf1202a7f3be72d1b4 (patch)
tree6770e07783bc49414e92bd23e0041971a8b6a360 /src/managers
parent8ec3dc4c09c30aab7669f99ba6359be320023fa8 (diff)
protocols: Move globalshortcuts impl (#7102)
* move global shortcuts to hyprwayland-scanner * remove wayland-scanner from deps * fix the thing
Diffstat (limited to 'src/managers')
-rw-r--r--src/managers/KeybindManager.cpp5
-rw-r--r--src/managers/ProtocolManager.cpp7
-rw-r--r--src/managers/ProtocolManager.hpp4
3 files changed, 6 insertions, 10 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 038f6401..2b99ce97 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -3,6 +3,7 @@
#include "../managers/SeatManager.hpp"
#include "../protocols/LayerShell.hpp"
#include "../protocols/ShortcutsInhibit.hpp"
+#include "../protocols/GlobalShortcuts.hpp"
#include "../render/decorations/CHyprGroupBarDecoration.hpp"
#include "../devices/IKeyboard.hpp"
#include "KeybindManager.hpp"
@@ -2664,10 +2665,10 @@ void CKeybindManager::global(std::string args) {
if (NAME.empty())
return;
- if (!g_pProtocolManager->m_pGlobalShortcutsProtocolManager->globalShortcutExists(APPID, NAME))
+ if (!PROTO::globalShortcuts->isTaken(APPID, NAME))
return;
- g_pProtocolManager->m_pGlobalShortcutsProtocolManager->sendGlobalShortcutEvent(APPID, NAME, g_pKeybindManager->m_iPassPressed);
+ PROTO::globalShortcuts->sendGlobalShortcutEvent(APPID, NAME, g_pKeybindManager->m_iPassPressed);
}
void CKeybindManager::moveGroupWindow(std::string args) {
diff --git a/src/managers/ProtocolManager.cpp b/src/managers/ProtocolManager.cpp
index d052e045..635e6223 100644
--- a/src/managers/ProtocolManager.cpp
+++ b/src/managers/ProtocolManager.cpp
@@ -42,6 +42,7 @@
#include "../protocols/Screencopy.hpp"
#include "../protocols/ToplevelExport.hpp"
#include "../protocols/TextInputV1.hpp"
+#include "../protocols/GlobalShortcuts.hpp"
#include "../protocols/core/Seat.hpp"
#include "../protocols/core/DataDevice.hpp"
@@ -148,6 +149,7 @@ CProtocolManager::CProtocolManager() {
PROTO::xwaylandShell = std::make_unique<CXWaylandShellProtocol>(&xwayland_shell_v1_interface, 1, "XWaylandShell");
PROTO::screencopy = std::make_unique<CScreencopyProtocol>(&zwlr_screencopy_manager_v1_interface, 3, "Screencopy");
PROTO::toplevelExport = std::make_unique<CToplevelExportProtocol>(&hyprland_toplevel_export_manager_v1_interface, 2, "ToplevelExport");
+ PROTO::globalShortcuts = std::make_unique<CGlobalShortcutsProtocol>(&hyprland_global_shortcuts_manager_v1_interface, 1, "GlobalShortcuts");
for (auto& b : g_pCompositor->m_pAqBackend->getImplementations()) {
if (b->type() != Aquamarine::AQ_BACKEND_DRM)
@@ -164,10 +166,6 @@ CProtocolManager::CProtocolManager() {
PROTO::linuxDma = std::make_unique<CLinuxDMABufV1Protocol>(&zwp_linux_dmabuf_v1_interface, 5, "LinuxDMABUF");
} else
Debug::log(WARN, "ProtocolManager: Not binding linux-dmabuf and MesaDRM: DMABUF not available");
-
- // Old protocol implementations.
- // TODO: rewrite them to use hyprwayland-scanner.
- m_pGlobalShortcutsProtocolManager = std::make_unique<CGlobalShortcutsProtocolManager>();
}
CProtocolManager::~CProtocolManager() {
@@ -220,6 +218,7 @@ CProtocolManager::~CProtocolManager() {
PROTO::xwaylandShell.reset();
PROTO::screencopy.reset();
PROTO::toplevelExport.reset();
+ PROTO::globalShortcuts.reset();
PROTO::lease.reset();
PROTO::sync.reset();
diff --git a/src/managers/ProtocolManager.hpp b/src/managers/ProtocolManager.hpp
index 044a4d9b..1b6d31b6 100644
--- a/src/managers/ProtocolManager.hpp
+++ b/src/managers/ProtocolManager.hpp
@@ -1,7 +1,6 @@
#pragma once
#include "../defines.hpp"
-#include "../protocols/GlobalShortcuts.hpp"
#include "../helpers/Monitor.hpp"
#include "../helpers/memory/Memory.hpp"
#include "../helpers/signal/Signal.hpp"
@@ -12,9 +11,6 @@ class CProtocolManager {
CProtocolManager();
~CProtocolManager();
- // TODO: rewrite to use the new protocol framework
- std::unique_ptr<CGlobalShortcutsProtocolManager> m_pGlobalShortcutsProtocolManager;
-
private:
std::unordered_map<std::string, CHyprSignalListener> m_mModeChangeListeners;