| ►NPhosphor | |
| ►NScreens | |
| CDBusScreenAdaptor | D-Bus adaptor for the org.plasmazones.Screen screen-topology surface: screen queries, virtual-screen mutation, the JSON round-trip for setVirtualScreenConfig, caches, and signals |
| CIConfigStore | Pluggable persistence for virtual-screen configurations |
| CInMemoryConfigStore | Trivial IConfigStore that holds its state in process memory |
| ►CIPanelSource | Pluggable producer of panel-reservation offsets per screen |
| COffsets | Per-edge reserved geometry, in physical pixels relative to the screen's top-left |
| CIScreenProvider | Pluggable source of the connected-output set and its lifecycle |
| CNoOpPanelSource | Trivial IPanelSource that reports zero offsets and ready=true |
| CPhysicalScreen | A physical output as ScreenManager sees it — decoupled from QScreen |
| CPlasmaPanelSource | IPanelSource implementation that queries KDE Plasma Shell over D-Bus for panel-reservation offsets |
| CQtScreenProvider | Production IScreenProvider — a thin wrapper over QGuiApplication |
| CResolverEndpoint | D-Bus endpoint that ScreenResolver queries |
| CScreenManager | Centralized screen-topology service |
| CScreenManagerConfig | Construction-time wiring for ScreenManager |
| CScreenResolver | Resolve a global cursor position to the effective screen ID |
| CVirtualScreenConfig | Configuration for how a physical screen is subdivided into virtual screens |
| ►CVirtualScreenDef | Definition of a single virtual screen within a physical screen |
| CPhysicalEdges | Check which edges of this virtual screen are at the physical screen boundary (vs internal edges shared with another virtual screen) |
| CVirtualScreenSwapper | Scoped helper that performs virtual-screen swap and rotate operations against an injected IConfigStore |
| ►NShortcuts | |
| ►NIntegration | |
| CIAdhocRegistrar | Reduced-surface registrar interface for subsystems that need to bind a transient shortcut while a specific UI state is active (e.g |
| CIBackend | Pluggable global shortcut backend |
| ►CRegistry | Consumer-facing facade over IBackend |
| CBinding | |
| ►NPhosphorAnimation | |
| ►Ndetail | |
| CDecomposedTransform | |
| COkLab | |
| ►NSnapPolicy | Snap-animation policy gate — decides if a transition merits animation and builds a MotionSpec<QRectF> for AnimatedValue::start() |
| CSnapParams | |
| CAnimatedValue | Unified motion primitive: one value of type T transitioning from start to target over time, driven by a curve and a clock |
| CAnimationUniformExtension | IUniformExtension that appends animation-shader spatial uniforms after PhosphorShaders::BaseUniforms in the UBO |
| CCurve | Polymorphic base for all animation curves |
| ►CCurveLoader | Scans JSON curve-definition files and registers them with CurveRegistry |
| CEntry | |
| CCurveRegistry | String-id <-> curve factory registry |
| CCurveState | Mutable state for stateful curve progression (springs carry position+velocity across frames; stateless curves share the struct for uniform caller treatment) |
| CEasing | Parametric easing curve: cubic bezier, elastic, or bounce |
| CIMotionClock | Abstract clock interface for the motion runtime |
| CInterpolate | Type-specific linear interpolation and path-distance for AnimatedValue<T> |
| CInterpolate< QColor > | |
| CInterpolate< QPointF > | |
| CInterpolate< qreal > | |
| CInterpolate< QRectF > | |
| CInterpolate< QSizeF > | |
| CInterpolate< QTransform > | |
| CMotionSpec | Runtime call-site bundle for starting an AnimatedValue<T> |
| CPhosphorCurve | Opaque QML value-type wrapper around shared_ptr<const Curve> |
| CPhosphorEasing | QML value-type wrapper around PhosphorAnimation::Easing |
| CPhosphorMotionAnimation | QQuickPropertyAnimation subclass driving property animation with a phosphor-animation Profile |
| CPhosphorProfile | QML value-type wrapper around PhosphorAnimation::Profile |
| CPhosphorProfileRegistry | Registry mapping profile path strings to Profile values |
| CPhosphorSpring | QML value-type wrapper around PhosphorAnimation::Spring |
| CProfile | Configuration for a single animation event |
| ►CProfileLoader | Scans JSON profile-definition files and registers them with PhosphorProfileRegistry |
| CEntry | |
| CProfileTree | Hierarchical profile storage with walk-up inheritance |
| CQtQuickClock | Qt Quick adapter implementing IMotionClock |
| CQtQuickClockManager | Enforces "one QtQuickClock per QQuickWindow" within a single composition-root-owned manager instance |
| CSpring | Damped harmonic oscillator |
| ►NPhosphorAnimationLayer | |
| ►CSurfaceAnimator | Concrete PhosphorLayer::ISurfaceAnimator driving show/hide via phosphor-animation Profiles |
| CConfig | Per-role profile + scale tuning bundle |
| ►NPhosphorAnimationShaders | |
| CAnimationAppRule | One per-window animation override entry |
| CAnimationAppRuleList | Ordered list of AnimationAppRule entries with first-match resolver |
| ►CAnimationShaderEffect | Metadata for a single animation shader effect (transition) |
| CParameterInfo | Declared shader inputs beyond the standard set (iTime, iFrame, etc.) |
| CTextureSlot | User texture slot |
| CAnimationShaderRegistry | Registry of available animation shader transition effects |
| CShaderProfile | Per-event shader effect selection and configuration |
| CShaderProfileTree | Hierarchical ShaderProfile storage with walk-up inheritance |
| ►NPhosphorAudio | |
| CCavaSpectrumProvider | |
| CIAudioSpectrumProvider | |
| ►NPhosphorCompositor | |
| ►NAutotileStateHelpers | Compositor-agnostic autotile state accessors and pure helpers |
| CAutotileWindowState | Bundles per-window state maps for cleanup operations |
| CBorderState | Compositor-agnostic autotile border state |
| CDaemonClient | |
| CDebouncedScreenAction | Compositor-agnostic debounced action with coalescing |
| CFloatingCache | Compositor-agnostic floating window state cache |
| CGeometryRequest | |
| CICompositorBridge | Abstract interface bridging compositor-agnostic logic to compositor-specific APIs |
| CIDragHandler | |
| CIGeometryHandler | |
| CILifecycleHandler | |
| CParsedTrigger | Pre-parsed activation trigger (avoids QVariant unboxing in hot path) |
| CWindowInfo | Compositor-agnostic window property snapshot |
| ►NPhosphorConfig | |
| CIBackend | Pluggable configuration backend |
| CIGroup | Scoped view into a single configuration group |
| CIGroupPathResolver | Optional plug-in for custom group name semantics |
| CJsonBackend | Atomic-write JSON configuration backend |
| CJsonGroup | Scoped group view backed by a JsonBackend |
| CKeyDef | Declaration for a single configuration key |
| CMigrationRunner | Executes a Schema's migration chain against a JSON document |
| CMigrationStep | One step in a schema version migration chain |
| CQSettingsBackend | QSettings-backed configuration backend (INI format) |
| CQSettingsGroup | Scoped group view backed by QSettings |
| CSchema | Declarative description of a configuration store |
| CStore | High-level declarative configuration facade |
| ►NPhosphorDBus | |
| CClient | A lightweight, service-agnostic D-Bus method-call client |
| CHasDBusStreaming | Compile-time check that a type has QDBusArgument streaming operators |
| CHasDBusStreaming< T, std::void_t< decltype(std::declval< QDBusArgument & >()<< std::declval< const T & >()), decltype(std::declval< const QDBusArgument & >() > > std::declval< T & >())> > | |
| ►NPhosphorEngine | |
| CIAutotileSettings | |
| CIGeometrySettings | |
| ►CIPlacementEngine | Unified placement engine interface |
| CHandoffContext | Context for a cross-engine window handoff |
| CIPlacementState | Per-screen placement state contract |
| CISnapSettings | |
| CIVirtualDesktopManager | |
| CIWindowRegistry | |
| CIWindowTrackingService | |
| CNavigationContext | Target window + screen for a navigation or lifecycle operation |
| CPendingRestore | |
| ►CPlacementEngineBase | Abstract base class for placement engines |
| CUnmanagedEntry | |
| CResnapEntry | |
| CSnapResult | |
| CTilingStateKey | |
| CUnfloatResult | |
| CWindowMetadata | |
| CWindowRegistry | |
| CZoneAssignmentEntry | |
| ►NPhosphorFsLoader | |
| ►CDirectoryLoader | Generic JSON-directory loader with debounced live reload |
| CEntry | Tracked entry — mirrors ParsedEntry minus the payload |
| CIDirectoryLoaderSink | Consumer-supplied strategy for a DirectoryLoader |
| CIScanStrategy | Pluggable enumeration / parse / commit policy for WatchedDirectorySet |
| CJsonEnvelope | Result of a successful envelope validation |
| CMetadataPackRegistryBase | QObject base for registries hosting a MetadataPackScanStrategy<Payload> |
| CMetadataPackScanStrategy | Reusable scan strategy for metadata.json-driven subdirectory pack registries |
| CParsedEntry | One parsed file's payload + metadata |
| CWatchedDirectorySet | Watcher + debounce + rescan scaffolding for filesystem-backed loaders |
| ►NPhosphorLayer | |
| CDefaultScreenProvider | IScreenProvider backed by QGuiApplication::screens() |
| CILayerShellTransport | Abstracts the layer-shell protocol binding |
| CIQmlEngineProvider | Hook point for consumer-controlled QQmlEngine ownership policy |
| CIScreenProvider | Source-of-truth interface for the available QScreen set |
| CISurfaceAnimator | Hook point for show/hide transitions on Surfaces |
| CISurfaceStore | Key-value JSON store for surface-related persistence |
| CITransportHandle | Handle returned by attach(); lets the caller mutate post-show properties that the wlr-layer-shell protocol permits (margins, layer, exclusive zone, keyboard interactivity) without re-attaching |
| CJsonSurfaceStore | File-backed ISurfaceStore — one JSON document on disk |
| CNoOpSurfaceAnimator | Pass-through ISurfaceAnimator — calls onComplete() synchronously |
| CPhosphorWaylandTransport | Default transport: binds surfaces to wlr-layer-shell via PhosphorWayland's LayerSurface class |
| CRole | Value type describing a surface's protocol-level configuration |
| CScreenProviderNotifier | QObject that emits signals for IScreenProvider state changes |
| CScreenSurfaceRegistry | Per-screen bookkeeping for surfaces with AllScreens affinity |
| ►CSurface | One layer-shell surface with a managed lifecycle |
| CCtorToken | Opaque construction token — only SurfaceFactory can create instances of it |
| CSurfaceConfig | Immutable per-surface configuration passed to SurfaceFactory::create() |
| CSurfaceDeps | Bundle of dependencies the Surface inherits from the factory |
| ►CSurfaceFactory | Stateless constructor for Surfaces |
| CDeps | Dependency bundle for SurfaceFactory |
| CTopologyConfig | Tunables for TopologyCoordinator |
| CTopologyCoordinator | Reacts to screen hot-plug / virtual-screen reconfiguration / compositor restart; drives surface recreations via the registries |
| CTransportAttachArgs | Arguments passed to ILayerShellTransport::attach() |
| CXdgToplevelTransport | Fallback transport for compositors without wlr-layer-shell |
| ►NPhosphorLayout | |
| CAlgorithmMetadata | Capability + display metadata for a single autotile algorithm |
| CCompositeLayoutSource | Aggregates multiple ILayoutSource implementations behind one ILayoutSource interface |
| CEdgeGaps | Per-side edge gap values (resolved, non-negative pixel values) |
| CFactoryContext | Service registry passed to a layout-source-provider builder so it can pull whatever registries / dependencies its factory needs |
| CILayoutSource | Abstract producer of LayoutPreview values |
| CILayoutSourceFactory | Abstract factory for an ILayoutSource implementation |
| CILayoutSourceRegistry | Abstract notifier surface for every registry that feeds an ILayoutSource |
| CLayoutPreview | Renderer-ready snapshot of one layout entry (manual zone layout OR autotile algorithm result) |
| CLayoutSourceBundle | Owning bundle that assembles a list of ILayoutSourceFactory instances into a single CompositeLayoutSource |
| CLayoutSourceProviderRegistrar | Static-init self-registration helper for provider libraries |
| CPendingLayoutSourceProvider | One pending layout-source-provider registration |
| ►NPhosphorOverlay | |
| CShellHost | |
| CShellState | |
| CSlotEntry | |
| ►NPhosphorPlacement | |
| CIGeometryResolver | |
| CPlacementConfig | |
| ►CWindowTrackingService | Window-zone tracking service (business logic layer) |
| CPendingRestoreTarget | Pre-computed snap restore target: zone geometry + the saved screen it lives on |
| ►NPhosphorProtocol | D-Bus marshalling for the autotile value types (see AutotileTypes.h) |
| CAlgorithmInfoEntry | D-Bus struct for algorithm metadata: (sssbbbbdibsbb) |
| CBridgeRegistrationResult | D-Bus struct for bridge registration result: (sss) |
| CCycleTargetResult | D-Bus struct for cycle navigation result: (bssss) |
| CDragOutcome | Drag outcome — daemon-authoritative decision about what to apply at drag end |
| CDragPolicy | Drag policy — daemon-authoritative decision about how a drag should be handled |
| CEmptyZoneEntry | D-Bus struct for empty zone info: (siiiiiibsssdd) |
| CFocusTargetResult | D-Bus struct for focus navigation result: (bsssss) |
| CMoveTargetResult | D-Bus struct for move/push/zone-number navigation result: (bssiiiiss) |
| CNamedZoneGeometry | D-Bus struct for named zone geometry: (siiii) |
| CPreTileGeometryEntry | D-Bus struct for pre-tile geometry entries: (siiiiis) Replaces the JSON blob previously returned by getPreTileGeometriesJson |
| CRestoreTargetResult | D-Bus struct for restore navigation result: (bbiiii) |
| CSnapAllResultEntry | D-Bus struct for snap-all result entries: (sssiiii) Carries targetZoneId so the plugin can confirm snaps without a second JSON parse |
| CSnapAssistCandidate | D-Bus struct for snap assist candidate: (ssss) |
| CSnapConfirmationEntry | D-Bus struct for batch snap confirmation: (sssb) |
| CSwapTargetResult | D-Bus struct for swap navigation result: (bssiiiissiiiissss) |
| CTileRequestEntry | D-Bus struct for autotile tile requests: (siiiissbb) |
| CUnfloatRestoreResult | D-Bus struct for unfloat restore result: (bassiiii) |
| CWindowGeometryEntry | D-Bus struct for batch geometry entries: (siiiis) |
| CWindowOpenedEntry | D-Bus struct for batch window-opened notification: (ssii) |
| CWindowStateEntry | D-Bus struct for window state: (sssbsasb) |
| CZoneGeometryRect | D-Bus struct for zone geometry: (iiii) |
| ►NPhosphorRendering | |
| ►CShaderCompiler | Static utility for GLSL → SPIR-V compilation with include resolution and caching |
| CResult | |
| CShaderEffect | QQuickItem that renders a fullscreen fragment shader via Qt RHI |
| CShaderNodeRhi | QSGRenderNode for fullscreen-quad shader rendering via Qt RHI (Vulkan / OpenGL) |
| CWarmShaderBakeResult | Result of warmShaderBakeCacheForPaths for reporting to UI |
| CZoneColor | Parsed zone color data for shader rendering |
| CZoneData | Per-zone payload pushed into the UBO each frame |
| CZoneDataSnapshot | Thread-safe zone data snapshot for the render thread |
| CZoneRect | Parsed zone rectangle data for shader rendering |
| CZoneShaderNodeRhi | QSGRenderNode for zone overlay rendering, delegating to ShaderNodeRhi |
| CZoneShaderUniforms | GPU uniform buffer layout — BaseUniforms + zone extension |
| CZoneUniformExtension | IUniformExtension implementation for zone data |
| ►NPhosphorServices | |
| CDBusMenuModel | Flat model exposing ONE level of a com.canonical.dbusmenu tree at a time |
| CIconThemeResolver | XDG Icon Theme Specification 0.13 resolver |
| CMprisHost | |
| CMprisPlayer | |
| CMprisPlayerModel | |
| CStatusNotifierHost | The shell-side counterpart to StatusNotifierWatcher |
| CStatusNotifierItem | One system-tray item |
| CStatusNotifierItemModel | QAbstractListModel adapter over StatusNotifierHost::items() |
| CUPowerDevice | |
| CUPowerDeviceModel | |
| CUPowerHost | |
| ►NPhosphorShaders | |
| CBaseUniforms | GPU uniform buffer layout following std140 rules (base region) |
| CIUniformExtension | Interface for appending custom uniform data after the base UBO layout |
| CIWallpaperProvider | Abstract wallpaper provider interface |
| CShaderIncludeResolver | Resolves #include directives in GLSL shader source |
| ►CShaderRegistry | Registry of available shader effects |
| CParameterInfo | |
| CShaderInfo | |
| ►NPhosphorShell | |
| CEnvironment | |
| CFileView | |
| CFloatingWindow | |
| CLazyLoader | |
| CPanelWindow | |
| CPersistentProperties | |
| CPopupWindow | |
| CProcess | |
| CScreenModel | |
| ►CShellEngine | |
| CDeps | |
| CShellGlobal | |
| CShellLoader | |
| CSystemClock | Real-time clock for status bar widgets |
| CToplevelListModel | QAbstractListModel view of the live toplevel set |
| CToplevels | QML singleton exposing the live list of toplevel windows for taskbars |
| CVariants | |
| CWallpaperService | Asynchronous wallpaper-image source for shader backgrounds |
| ►NPhosphorSnapEngine | |
| CINavigationStateProvider | Narrow read-only interface for compositor-layer state queries |
| CIZoneAdjacencyResolver | Narrow interface for zone-adjacency queries used by snap navigation |
| CSnapEngine | Engine for manual zone-based window snapping |
| CSnapNavigationTargetResolver | Pure snap-mode navigation target resolver |
| ►CSnapState | Per-screen snap placement state |
| CUnassignResult | |
| ►NPhosphorSurfaces | |
| CSurfaceManager | |
| CSurfaceManagerConfig | |
| ►NPhosphorTileEngine | |
| CAlgorithmSettings | Per-algorithm saved settings (split ratio + master count) |
| CAutotileConfig | Configuration for autotiling behavior |
| CAutotileEngine | Core engine for automatic window tiling |
| CNavigationController | Handles navigation, focus cycling, and ratio/count adjustments |
| COverflowManager | Per-screen overflow window tracking (pure tracking — no PhosphorTiles::TilingState mutation) |
| CPendingAutotileRestore | Saved position for a window removed from autotile, keyed by appId |
| CPerScreenConfigResolver | Resolves per-screen configuration overrides for autotiling |
| ►NPhosphorTiles | |
| ►NScriptedHelpers | JS builtin sources loaded from the :/builtins/ Qt resource at ScriptedAlgorithm::loadScript() time |
| CCustomParamDef | Definition of a custom algorithm parameter |
| CScriptMetadata | Parsed script metadata from a JS-exported metadata object |
| CAlgorithmPreviewParams | User-configured tiling parameters that affect algorithm preview generation |
| CAlgorithmRegistrar | Helper for static self-registration of built-in algorithms |
| CAlgorithmRegistry | Concrete tiling-algorithm registry |
| CAutotileLayoutSource | ILayoutSource adapter wrapping an ITileAlgorithmRegistry |
| CAutotileLayoutSourceFactory | Factory for AutotileLayoutSource |
| CCumulativeMinDims | Result of precomputing cumulative min dimensions for alternating V/H splits |
| CITileAlgorithmRegistry | Abstract contract for a tiling-algorithm registry |
| CPendingAlgorithmRegistration | Pending algorithm registration data |
| CScriptedAlgorithm | |
| CScriptedAlgorithmLoader | Discovers, loads, and hot-reloads ScriptedAlgorithm instances |
| CScriptedAlgorithmWatchdog | Per-loader watchdog for scripted algorithms |
| CSplitNode | A single node in the binary split tree |
| CSplitTree | A binary split tree for interactive window tiling |
| CThreeColumnWidths | Result of solving three-column width distribution |
| CTilingAlgorithm | Abstract base class for tiling algorithms |
| CTilingParams | Parameters for zone calculation |
| CTilingScreenInfo | Screen metadata passed to tiling algorithms |
| CTilingState | Tracks tiling state for a single screen |
| CWindowInfo | Per-window metadata passed to algorithms |
| ►NPhosphorWayland | |
| CForeignToplevel | A single toplevel window owned by some other Wayland client |
| CForeignToplevelManager | Client-side wrapper around zwlr_foreign_toplevel_manager_v1 |
| CIdleInhibitor | Prevents the compositor from idling the output that the associated surface is visible on |
| CIdleNotifier | |
| ►CLayerSurface | Wayland layer-shell surface backed by zwlr_layer_shell_v1 |
| CBatchGuard | RAII guard: suppresses propertiesChanged() until destroyed |
| CSinglePixelBuffer | |
| ►NPhosphorWorkspaces | |
| CActivityManager | |
| CVirtualDesktopManager | |
| ►NPhosphorZones | |
| CAppRule | App-to-zone auto-snap rule |
| CAppRuleMatch | Result of matching a window class against app rules |
| CAssignmentEntry | Explicit per-context assignment entry storing both mode fields |
| CComputedZoneGeometry | |
| CIZoneDetection | Pure-query subset of zone detection — read-only geometry lookup |
| CIZoneDetector | Abstract interface for zone detection + highlight lifecycle |
| CIZoneLayoutRegistry | Enumeration + mutation surface for the in-memory zone-layout catalog |
| CLayout | Represents a collection of zones that form a layout |
| CLayoutAssignmentKey | Key for layout assignment (screen + desktop + activity) |
| CLayoutComputeResult | |
| CLayoutComputeService | |
| CLayoutFactory | |
| CLayoutRegistry | Manual zone-layout registry + per-context assignment store |
| CLayoutSnapshot | |
| CLayoutWorker | |
| CZone | Represents a single zone within a layout |
| CZoneDetectionResult | Result of zone detection |
| CZoneDetector | Efficient zone detection for window snapping |
| CZoneHighlighter | Manages zone highlighting state |
| CZonesLayoutSource | ILayoutSource adapter wrapping an IZoneLayoutRegistry |
| CZonesLayoutSourceFactory | Factory for ZonesLayoutSource |
| CZoneSnapshot | |