One engine's view of a window: which managed slot it occupies (or that it is floating / unmanaged) in THAT engine's mode. More...
#include <phosphor-engine/include/PhosphorEngine/WindowPlacement.h>
Public Member Functions | |
| bool | operator== (const EngineSlot &o) const |
| bool | operator!= (const EngineSlot &o) const |
| bool | isEmpty () const |
Public Attributes | |
| QString | state |
| engine-defined token: snap "snapped"/"floating"; autotile "tiled"/"floating" ("free" retired) | |
| QStringList | zoneIds |
| snap slot — zone UUIDs (first is primary); empty for autotile | |
| int | order = -1 |
| autotile slot — tile index within the screen; -1 for snap | |
One engine's view of a window: which managed slot it occupies (or that it is floating / unmanaged) in THAT engine's mode.
State is PER ENGINE — a window can be snapped in the snap engine AND floating in the autotile engine at the same time, each engine remembering the window's state in its OWN mode.
The slot is an IDENTIFIER, never a rectangle: zoneIds for the snap engine, order for the autotile engine. A managed rect (the zone or tile geometry) is NEVER stored here — that is what keeps the shared free/float geometry from being poisoned by a zone/tile rect (the per-mode geometry leak this model fixes). The window's actual free/float position lives once, shared, in WindowPlacement::freeGeometryByScreen.
|
inline |
|
inline |
|
inline |
| int PhosphorEngine::EngineSlot::order = -1 |
autotile slot — tile index within the screen; -1 for snap
| QString PhosphorEngine::EngineSlot::state |
engine-defined token: snap "snapped"/"floating"; autotile "tiled"/"floating" ("free" retired)
| QStringList PhosphorEngine::EngineSlot::zoneIds |
snap slot — zone UUIDs (first is primary); empty for autotile