Namespaces | |
| namespace | GeometryUtils |
| namespace | LayoutUtils |
| Zone/layout primitive utilities — pure Layout / Zone operations. | |
| namespace | ZoneDefaults |
| Library-owned default values for zone presentation. | |
| namespace | ZoneJsonKeys |
| JSON wire-format keys for zone & layout serialisation. | |
Classes | |
| struct | AssignmentEntry |
| Explicit per-context assignment entry storing both mode fields. More... | |
| struct | CombinedAssignmentKey |
| Triple-axis key for the Combined-context batch API. More... | |
| struct | ComputedZoneGeometry |
| struct | ContextGapOverride |
| Per-context gap override resolved from window rules. More... | |
| struct | ContextOverlayOverride |
| Per-context overlay-property overrides resolved from window-rule actions. More... | |
| class | IZoneDetection |
| Pure-query subset of zone detection — read-only geometry lookup. More... | |
| class | IZoneDetector |
| Abstract interface for zone detection + highlight lifecycle. More... | |
| class | IZoneLayoutRegistry |
| Enumeration + mutation surface for the in-memory zone-layout catalog. More... | |
| class | Layout |
| Represents a collection of zones that form a layout. More... | |
| struct | LayoutAssignmentKey |
| Key for layout assignment (screen + desktop + activity) More... | |
| struct | LayoutComputeResult |
| class | LayoutComputeService |
| class | LayoutFactory |
| class | LayoutRegistry |
| Manual zone-layout registry + per-context assignment store. More... | |
| class | LayoutSettingsStore |
| Persists per-layout SETTINGS in a sidecar, keyed by layout UUID, separately from the structural layout files. More... | |
| struct | LayoutSnapshot |
| class | LayoutWorker |
| class | Zone |
| Represents a single zone within a layout. More... | |
| struct | ZoneDetectionResult |
| Result of zone detection. More... | |
| class | ZoneDetector |
| Efficient zone detection for window snapping. More... | |
| class | ZoneHighlighter |
| Manages zone highlighting state. More... | |
| class | ZonesLayoutSource |
| ILayoutSource adapter wrapping an IZoneLayoutRegistry. More... | |
| class | ZonesLayoutSourceFactory |
Factory for ZonesLayoutSource. More... | |
| struct | ZoneSnapshot |
Enumerations | |
| enum class | LayoutCategory { Manual = 0 , Autotile = 1 } |
| Category for layout type. More... | |
| enum class | ZoneField { None = 0 , Name = 1 << 0 , Appearance = 1 << 1 , Minimal = None , Full = Name | Appearance } |
| Flags controlling which zone fields to include in conversion (OCP-compliant) More... | |
| enum class | ZoneGeometryMode { Relative = 0 , Fixed = 1 } |
| Geometry mode for individual zones. More... | |
Functions | |
| size_t | qHash (const LayoutAssignmentKey &key, size_t seed=0) |
| QString | modeToWireString (AssignmentEntry::Mode mode) |
| Canonical wire-string for an AssignmentEntry::Mode. | |
| std::optional< AssignmentEntry::Mode > | modeFromWireString (const QString &wire) |
| Inverse of modeToWireString. | |
| QList< AssignmentEntry::Mode > | allModes () |
| Iteration order for every AssignmentEntry::Mode value. | |
| size_t | qHash (const CombinedAssignmentKey &key, size_t seed=0) noexcept |
| PHOSPHORZONES_EXPORT PhosphorLayout::LayoutPreview | previewFromLayout (PhosphorZones::Layout *layout, const QSize &canvas={}) |
| Convert a single Layout into a renderer-ready LayoutPreview. | |
| PHOSPHORZONES_EXPORT void | ensureZonesLayoutSourceProviderLinked () |
Anchor symbol that forces the translation unit owning the static LayoutSourceProviderRegistrar for this provider to be linked in. | |
|
strong |
|
strong |
Flags controlling which zone fields to include in conversion (OCP-compliant)
These flags allow callers to request minimal or full zone data without duplicating conversion logic. Use Minimal for preview thumbnails, Full for overlay rendering.
| Enumerator | |
|---|---|
| None | |
| Name | Include zone name. |
| Appearance | Include colors, opacities, border properties. |
| Minimal | Id, ZoneNumber, RelativeGeometry only (for previews) |
| Full | All fields (for overlay rendering) |
|
strong |
Geometry mode for individual zones.
Relative: 0.0–1.0 normalized coordinates (default, resolution-independent). Fixed: Absolute pixel coordinates relative to reference screen origin.
Owned by phosphor-zones because it's a per-zone shape; the former Phosphor-side using-alias in src/core/ was removed when the decoupling sweep landed — all callers now reference PhosphorZones::ZoneGeometryMode directly.
| Enumerator | |
|---|---|
| Relative | |
| Fixed | |
|
inline |
Iteration order for every AssignmentEntry::Mode value.
The order doubles as the UI tab order (Snapping first, Autotile second, Scrolling last). Returns a QList<Mode> so range-for over modes is a one-liner — both Settings::saveAll / resetAll and the KCM page builders loop over this instead of hand-coding the {Snapping, Autotile, ...} pair literally. Adding a Mode in the enum and extending this list is all that is required to fan out every (Mode, Family)-keyed routine.
| PHOSPHORZONES_EXPORT void PhosphorZones::ensureZonesLayoutSourceProviderLinked | ( | ) |
Anchor symbol that forces the translation unit owning the static LayoutSourceProviderRegistrar for this provider to be linked in.
Under SHARED builds (today's default) every TU of the loaded library has its static initialisers run, so this anchor is a no-op. The function exists so that STATIC builds + linker GC (--gc-sections, --as-needed) can't drop zoneslayoutsourcefactory.cpp silently — at which point the static registrar never runs and the bundle ships without the zones provider. Composition-root glue (buildStandardLayoutSourceBundle) calls this once during bundle wiring. The body is an empty no-op; only the symbol reference matters. See the @todo(plugin-compositor) note in PhosphorLayoutApi/LayoutSourceProviderRegistry.h.
|
inline |
Inverse of modeToWireString.
Returns std::nullopt for an unrecognised token — callers must treat that as a load failure (drop the rule / use the default). NEVER coerce an unknown token to a default mode: a typo would silently re-route a disable rule from "this engine only" to "all engines off".
|
inline |
Canonical wire-string for an AssignmentEntry::Mode.
The wire vocabulary lives next to the enum so every persister/consumer (rule store via ContextRuleBridge::makeDisableRule, KCM debugging, D-Bus enums) reads from one source of truth. Adding a new mode means extending this switch and modeFromWireString together. NEVER rename an existing token — the rule store records them verbatim and a rename would orphan every persisted disable rule.
| PHOSPHORZONES_EXPORT PhosphorLayout::LayoutPreview PhosphorZones::previewFromLayout | ( | PhosphorZones::Layout * | layout, |
| const QSize & | canvas = {} |
||
| ) |
Convert a single Layout into a renderer-ready LayoutPreview.
Pure projection — no Qt object lifecycle, no signals. Manual layouts have a fixed shape, so the windowCount param from ILayoutSource is ignored here. Provided as a free function so consumers that already hold a Layout* can build a preview without going through ILayoutSource.
canvas (optional) — reference geometry used when projecting zones that were authored in fixed-pixel mode. When empty (the default), the projection falls back to Layout::lastRecalcGeometry(), which holds whichever screen most recently triggered a recalc — fine for caller topologies with a single monitor, but stale if two different screens share a Layout* and query their previews in alternation. Passing the caller's own canvas makes the projection deterministic per-call.
|
inlinenoexcept |
|
inline |