layout: rethonk layouts from the ground up (#12890)

Rewrites layouts to be much smaller, and deal with much less annoying
BS. Improves the overall architecture, unifies handling of pseudotiling,
and various other improvements.
This commit is contained in:
Vaxry 2026-02-21 21:30:39 +00:00 committed by GitHub
parent 51f8849e54
commit 723870337f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
82 changed files with 8431 additions and 5527 deletions

View file

@ -6,6 +6,10 @@
#include "../helpers/MiscFunctions.hpp"
#include "../helpers/signal/Signal.hpp"
namespace Layout {
class CSpace;
};
enum eFullscreenMode : int8_t {
FSMODE_NONE = 0,
FSMODE_MAXIMIZED = 1 << 0,
@ -20,7 +24,9 @@ class CWorkspace {
CWorkspace(WORKSPACEID id, PHLMONITOR monitor, std::string name, bool special = false, bool isEmpty = true);
~CWorkspace();
WP<CWorkspace> m_self;
WP<CWorkspace> m_self;
SP<Layout::CSpace> m_space;
// Workspaces ID-based have IDs > 0
// and workspaces name-based have IDs starting with -1337