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

IScreenProvider backed by QGuiApplication::screens(). More...

#include <phosphor-layer/include/PhosphorLayer/defaults/DefaultScreenProvider.h>

Inheritance diagram for PhosphorLayer::DefaultScreenProvider:
[legend]

Public Member Functions

 DefaultScreenProvider (QObject *parent=nullptr)
 
 ~DefaultScreenProvider () override
 
QList< QScreen * > screens () const override
 Full list of screens the surfaces should be aware of.
 
QScreen * primary () const override
 Canonical "primary" screen.
 
QScreen * focused () const override
 Screen currently containing the focus / cursor.
 
ScreenProviderNotifiernotifier () const override
 Notifier for signal-driven updates.
 
- Public Member Functions inherited from PhosphorLayer::IScreenProvider
 IScreenProvider ()=default
 
virtual ~IScreenProvider ()=default
 

Detailed Description

IScreenProvider backed by QGuiApplication::screens().

Standalone consumers (panel applets, notification daemons, lockscreens) use this directly. PlasmaZones injects a virtual-screen-aware provider in its place.

focused() behaviour
Returns primary() by default. Qt does not expose a portable "focused screen" concept — that belongs to the compositor. Subclass and override if your compositor exposes the info via a side channel (KWin's QDBus activeScreen, e.g.).

Constructor & Destructor Documentation

◆ DefaultScreenProvider()

PhosphorLayer::DefaultScreenProvider::DefaultScreenProvider ( QObject *  parent = nullptr)
explicit

◆ ~DefaultScreenProvider()

PhosphorLayer::DefaultScreenProvider::~DefaultScreenProvider ( )
override

Member Function Documentation

◆ focused()

QScreen * PhosphorLayer::DefaultScreenProvider::focused ( ) const
overridevirtual

Screen currently containing the focus / cursor.

Implementations that don't track focus return primary(). Consumers pick between primary() and focused() themselves when constructing a SurfaceConfig; the library does not carry an affinity enum.

Implements PhosphorLayer::IScreenProvider.

◆ notifier()

ScreenProviderNotifier * PhosphorLayer::DefaultScreenProvider::notifier ( ) const
overridevirtual

Notifier for signal-driven updates.

Pointer is owned by the provider; consumers must not delete it. Lifetime >= the provider's.

Implements PhosphorLayer::IScreenProvider.

◆ primary()

QScreen * PhosphorLayer::DefaultScreenProvider::primary ( ) const
overridevirtual

Canonical "primary" screen.

SurfaceFactory falls back here when a SurfaceConfig doesn't pin a specific QScreen*. Also used as the recovery target when a bound screen is hot-unplugged.

Implements PhosphorLayer::IScreenProvider.

◆ screens()

QList< QScreen * > PhosphorLayer::DefaultScreenProvider::screens ( ) const
overridevirtual

Full list of screens the surfaces should be aware of.

Implements PhosphorLayer::IScreenProvider.


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