Hyprland/src/helpers/Workspace.hpp

38 lines
954 B
C++
Raw Normal View History

2022-03-20 15:55:47 +01:00
#pragma once
#include "../defines.hpp"
2022-05-12 11:27:31 +02:00
#include "AnimatedVariable.hpp"
2022-03-20 15:55:47 +01:00
enum eFullscreenMode : uint8_t {
FULLSCREEN_FULL = 0,
FULLSCREEN_MAXIMIZED
};
class CWorkspace {
public:
CWorkspace(int monitorID);
~CWorkspace();
2022-04-21 16:38:48 +02:00
// Workspaces ID-based have IDs > 0
// and workspaces name-based have IDs starting with -1337
int m_iID = -1;
2022-04-21 16:38:48 +02:00
std::string m_szName = "";
uint64_t m_iMonitorID = -1;
bool m_bHasFullscreenWindow = false;
eFullscreenMode m_efFullscreenMode = FULLSCREEN_FULL;
wlr_ext_workspace_handle_v1* m_pWlrHandle = nullptr;
wl_array m_wlrCoordinateArr;
2022-05-12 11:27:31 +02:00
// for animations
CAnimatedVariable m_vRenderOffset;
2022-05-16 23:13:32 +02:00
CAnimatedVariable m_fAlpha;
2022-05-26 19:05:32 +02:00
// user-set
bool m_bDefaultFloating = false;
bool m_bDefaultPseudo = false;
2022-05-16 23:13:32 +02:00
void startAnim(bool in, bool left);
2022-05-25 10:25:36 +02:00
void setActive(bool on);
2022-03-20 15:55:47 +01:00
};