#ifndef HYPRLAND_SERVICE_H #define HYPRLAND_SERVICE_H #define HYPRLAND_CONF_DIR "~/.config/hypr/" #define FLOATING_RULE_CONF_FILE HYPRLAND_CONF_DIR "hyprland/floatbydefault.conf" #define HYPRCTL_BINARY "/usr/bin/hyprctl" #define NULL_PATH "/dev/null" #define SET_FLOATING_RULE "/usr/bin/echo 'windowrule = float,class:.*' > " FLOATING_RULE_CONF_FILE #define REMOVE_FLOATING_RULE "/usr/bin/cat " NULL_PATH " > " FLOATING_RULE_CONF_FILE #include #include #include "Workspace.h" #include "Client.h" #include class HyprlandService { public: static Workspace getCurrentWorkspace(); static std::list getClients(); static std::list getClientsOnActiveWorkspace(); static void setClientFloating(Client&); static void setClientTiled(Client&); static void toggleClientFloating(Client&); static std::string exec(const std::string& command); }; #endif