hyprland/focus_grab: add HyprlandFocusGrab

This commit is contained in:
outfoxxed 2024-05-03 03:08:32 -07:00
parent e7cfb5cf37
commit 87a884ca36
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
15 changed files with 607 additions and 0 deletions

View file

@ -0,0 +1,27 @@
#include "manager.hpp"
#include <qwaylandclientextension.h>
#include "grab.hpp"
namespace qs::hyprland::focus_grab {
FocusGrabManager::FocusGrabManager(): QWaylandClientExtensionTemplate<FocusGrabManager>(1) {
this->initialize();
}
bool FocusGrabManager::available() const { return this->isActive(); }
FocusGrab* FocusGrabManager::createGrab() { return new FocusGrab(this->create_grab()); }
FocusGrabManager* FocusGrabManager::instance() {
static FocusGrabManager* instance = nullptr; // NOLINT
if (instance == nullptr) {
instance = new FocusGrabManager();
}
return instance;
}
} // namespace qs::hyprland::focus_grab