Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
Phosphor::Screens::ScreenManagerConfig Struct Reference

Construction-time wiring for ScreenManager. More...

#include <phosphor-screens/include/PhosphorScreens/Manager.h>

Public Attributes

IScreenProviderscreenProvider = nullptr
 
IPanelSourcepanelSource = nullptr
 
IConfigStoreconfigStore = nullptr
 
bool useGeometrySensors = true
 
int maxVirtualScreensPerPhysical = 8
 

Detailed Description

Construction-time wiring for ScreenManager.

All members default-construct to a "nothing fancy" state:

  • screenProvider null → ScreenManager builds its own QtScreenProvider (the live QGuiApplication-backed source). Inject a FakeScreenProvider to drive the add/remove/move/resize sequence from a test.
  • panelSource null → ScreenManager treats panel offsets as zero, emits ScreenManager::panelGeometryReady on the next event loop turn.
  • configStore null → no VS subdivision support; cache stays empty.
  • useGeometrySensors true → create layer-shell sensor windows for real-time available-area tracking.

Pointers are non-owning EXCEPT a null screenProvider, where the manager owns the QtScreenProvider it constructs. An injected source / store / provider must outlive the manager.

Top-level (not nested in ScreenManager) so its in-class member initialisers are reachable at the ScreenManager constructor's default-argument parse site — nested types' initialisers are not.

Member Data Documentation

◆ configStore

IConfigStore* Phosphor::Screens::ScreenManagerConfig::configStore = nullptr

◆ maxVirtualScreensPerPhysical

int Phosphor::Screens::ScreenManagerConfig::maxVirtualScreensPerPhysical = 8

◆ panelSource

IPanelSource* Phosphor::Screens::ScreenManagerConfig::panelSource = nullptr

◆ screenProvider

IScreenProvider* Phosphor::Screens::ScreenManagerConfig::screenProvider = nullptr

◆ useGeometrySensors

bool Phosphor::Screens::ScreenManagerConfig::useGeometrySensors = true

The documentation for this struct was generated from the following file: