Files
hyprland-toggle-tiling/include/HyprlandService.hpp

38 lines
1.1 KiB
C++
Raw Normal View History

2025-06-10 14:09:56 +02:00
#ifndef HYPRLAND_SERVICE_H
#define HYPRLAND_SERVICE_H
#include <list>
#include "Workspace.hpp"
#include "Client.hpp"
#include "WindowRule.hpp"
2025-06-10 14:09:56 +02:00
class HyprlandService {
2025-06-11 12:15:47 +02:00
private:
static std::string configFilePath;
static std::string getConfigFilePath();
2026-01-09 00:02:54 +01:00
static std::list<Workspace> getWorkspaces();
static std::optional<Workspace> getWorkspace(int);
2025-06-11 12:15:47 +02:00
static Workspace getCurrentWorkspace();
2026-01-09 00:02:54 +01:00
2025-06-11 12:15:47 +02:00
static std::list<Client> getClients();
static std::list<Client> getClientsOnActiveWorkspace();
2026-01-09 00:02:54 +01:00
static Client getActiveClient();
static bool isFloatingRulePresent(int);
static bool isFloatingRulePresent(Workspace);
2025-06-11 12:15:47 +02:00
static std::list<WindowRule> getWindowRules();
static std::optional<WindowRule> findConflictingRule(WindowRule);
static void setFloatingRule(bool);
static void removeRule(WindowRule);
2026-01-09 00:02:54 +01:00
static void setClientFloating(Client);
static void setClientTiled(Client);
public:
static void toggleFloating();
static void moveToWorkspace(int);
static void setConfigFilePath(std::string);
2026-01-06 16:16:14 +01:00
static WindowRule getActiveWorkspaceRule();
2025-06-10 14:09:56 +02:00
};
#endif