2025-06-10 14:09:56 +02:00
|
|
|
#ifndef CLIENT_H
|
|
|
|
|
#define CLIENT_H
|
|
|
|
|
|
|
|
|
|
#include <array>
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <nlohmann/json.hpp>
|
|
|
|
|
|
|
|
|
|
using json = nlohmann::json;
|
|
|
|
|
|
|
|
|
|
struct WorkspaceSignature {
|
|
|
|
|
public:
|
|
|
|
|
int id;
|
|
|
|
|
std::string name;
|
|
|
|
|
|
|
|
|
|
friend void from_json(const json& j, WorkspaceSignature& ws);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class Client {
|
|
|
|
|
public:
|
|
|
|
|
std::string address;
|
|
|
|
|
bool mapped;
|
|
|
|
|
bool hidden;
|
|
|
|
|
std::array<int, 2> size;
|
|
|
|
|
WorkspaceSignature workspace;
|
|
|
|
|
bool floating;
|
|
|
|
|
int monitor;
|
|
|
|
|
std::string className;
|
|
|
|
|
std::string title;
|
|
|
|
|
std::string initialClass;
|
|
|
|
|
std::string initialTitle;
|
|
|
|
|
int pid;
|
|
|
|
|
bool xwayland;
|
|
|
|
|
bool pinned;
|
|
|
|
|
int fullscreen;
|
|
|
|
|
int fullscreenClient;
|
2026-03-05 18:31:09 +01:00
|
|
|
bool overFullscreen;
|
2025-06-10 14:09:56 +02:00
|
|
|
std::string swallowing;
|
|
|
|
|
int focusHistory;
|
|
|
|
|
bool inhibitingIdle;
|
|
|
|
|
std::string xdgTag;
|
|
|
|
|
std::string xdgDescription;
|
|
|
|
|
|
|
|
|
|
friend void from_json(const json& j, Client& client);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|