layout: better storage for no fullscreen checks var

fixes #3731
This commit is contained in:
vaxerski
2023-11-03 12:19:23 +00:00
parent 88b47dfa83
commit 0f6e530798
4 changed files with 29 additions and 22 deletions

View File

@@ -10,8 +10,7 @@
enum eFullscreenMode : int8_t;
//orientation determines which side of the screen the master area resides
enum eOrientation : uint8_t
{
enum eOrientation : uint8_t {
ORIENTATION_LEFT = 0,
ORIENTATION_TOP,
ORIENTATION_RIGHT,
@@ -32,7 +31,10 @@ struct SMasterNodeData {
int workspaceID = -1;
bool operator==(const SMasterNodeData& rhs) const {
bool ignoreFullscreenChecks = false;
//
bool operator==(const SMasterNodeData& rhs) const {
return pWindow == rhs.pWindow;
}
};
@@ -41,7 +43,8 @@ struct SMasterWorkspaceData {
int workspaceID = -1;
eOrientation orientation = ORIENTATION_LEFT;
bool operator==(const SMasterWorkspaceData& rhs) const {
//
bool operator==(const SMasterWorkspaceData& rhs) const {
return workspaceID == rhs.workspaceID;
}
};
@@ -76,7 +79,7 @@ class CHyprMasterLayout : public IHyprLayout {
void buildOrientationCycleVectorFromEOperation(std::vector<eOrientation>& cycle);
void runOrientationCycle(SLayoutMessageHeader& header, CVarList* vars, int next);
int getNodesOnWorkspace(const int&);
void applyNodeDataToWindow(SMasterNodeData*, bool force = false);
void applyNodeDataToWindow(SMasterNodeData*);
SMasterNodeData* getNodeFromWindow(CWindow*);
SMasterNodeData* getMasterNodeOnWorkspace(const int&);
SMasterWorkspaceData* getMasterWorkspaceData(const int&);