Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
PhosphorLayer Namespace Reference

Classes

class  DefaultScreenProvider
 IScreenProvider backed by QGuiApplication::screens(). More...
 
class  ILayerShellTransport
 Abstracts the layer-shell protocol binding. More...
 
class  IQmlEngineProvider
 Hook point for consumer-controlled QQmlEngine ownership policy. More...
 
class  IScreenProvider
 Source-of-truth interface for the available QScreen set. More...
 
class  ISurfaceAnimator
 Hook point for show/hide transitions on Surfaces. More...
 
class  ISurfaceStore
 Key-value JSON store for surface-related persistence. More...
 
class  ITransportHandle
 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. More...
 
class  JsonSurfaceStore
 File-backed ISurfaceStore — one JSON document on disk. More...
 
class  NoOpSurfaceAnimator
 Pass-through ISurfaceAnimator — calls onComplete() synchronously. More...
 
class  PhosphorWaylandTransport
 Default transport: binds surfaces to wlr-layer-shell via PhosphorWayland's LayerSurface class. More...
 
struct  Role
 Value type describing a surface's protocol-level configuration. More...
 
class  ScreenProviderNotifier
 QObject that emits signals for IScreenProvider state changes. More...
 
class  ScreenSurfaceRegistry
 Per-screen bookkeeping for surfaces with AllScreens affinity. More...
 
class  Surface
 One layer-shell surface with a managed lifecycle. More...
 
struct  SurfaceConfig
 Immutable per-surface configuration passed to SurfaceFactory::create(). More...
 
struct  SurfaceDeps
 Bundle of dependencies the Surface inherits from the factory. More...
 
class  SurfaceFactory
 Stateless constructor for Surfaces. More...
 
struct  TopologyConfig
 Tunables for TopologyCoordinator. More...
 
class  TopologyCoordinator
 Reacts to screen hot-plug / virtual-screen reconfiguration / compositor restart; drives surface recreations via the registries. More...
 
struct  TransportAttachArgs
 Arguments passed to ILayerShellTransport::attach(). More...
 
class  XdgToplevelTransport
 Fallback transport for compositors without wlr-layer-shell. More...
 

Enumerations

enum class  Layer : int { Background = 0 , Bottom = 1 , Top = 2 , Overlay = 3 }
 Meta-object context for namespace-level enums so QML and QMetaEnum can stringify them. More...
 
enum class  Anchor : std::uint32_t {
  None = 0 , Top = 1U << 0 , Bottom = 1U << 1 , Left = 1U << 2 ,
  Right = 1U << 3
}
 Edge anchors. More...
 
enum class  KeyboardInteractivity : int { None = 0 , Exclusive = 1 , OnDemand = 2 }
 Keyboard focus policy (wlr-layer-shell v4 adds OnDemand). More...
 

Variables

constexpr Anchors AnchorNone = Anchors()
 
constexpr Anchors AnchorAll {Anchor::Top, Anchor::Bottom, Anchor::Left, Anchor::Right}
 

Enumeration Type Documentation

◆ Anchor

enum class PhosphorLayer::Anchor : std::uint32_t
strong

Edge anchors.

Combine as flags (a panel anchors Top|Left|Right; a fullscreen surface anchors all four; a centred modal anchors none).

Enumerator
None 
Top 
Bottom 
Left 
Right 

◆ KeyboardInteractivity

enum class PhosphorLayer::KeyboardInteractivity : int
strong

Keyboard focus policy (wlr-layer-shell v4 adds OnDemand).

Enumerator
None 

Surface never receives keyboard focus (click-through)

Exclusive 

Surface takes exclusive keyboard focus (modals)

OnDemand 

Surface receives focus when clicked (panels)

◆ Layer

enum class PhosphorLayer::Layer : int
strong

Meta-object context for namespace-level enums so QML and QMetaEnum can stringify them.

Registered in role.cpp. Stacking layer (wlr-layer-shell protocol values).

Enumerator
Background 

Behind windows (wallpapers)

Bottom 

Above background, below windows (live wallpapers)

Top 

Above windows (panels, docks)

Overlay 

Above everything including fullscreen (HUDs, OSDs)

Variable Documentation

◆ AnchorAll

constexpr Anchors PhosphorLayer::AnchorAll {Anchor::Top, Anchor::Bottom, Anchor::Left, Anchor::Right}
inlineconstexpr

◆ AnchorNone

constexpr Anchors PhosphorLayer::AnchorNone = Anchors()
inlineconstexpr