#pragma once #include #include #include #include #include #include "shortcut.hpp" namespace qs::hyprland::global_shortcuts::impl { class GlobalShortcutManager : public QWaylandClientExtensionTemplate , public QtWayland::hyprland_global_shortcuts_manager_v1 { public: explicit GlobalShortcutManager(); GlobalShortcut* registerShortcut( const QString& appid, const QString& name, const QString& description, const QString& triggerDescription ); void unregisterShortcut(const QString& appid, const QString& name); static GlobalShortcutManager* instance(); private: QHash, QPair> shortcuts; }; } // namespace qs::hyprland::global_shortcuts::impl