6#include <PhosphorLayer/phosphorlayer_export.h>
19Q_NAMESPACE_EXPORT(PHOSPHORLAYER_EXPORT)
41Q_DECLARE_FLAGS(Anchors,
Anchor)
76struct PHOSPHORLAYER_EXPORT
Role
80 int exclusiveZone = -1;
113Q_DECLARE_OPERATORS_FOR_FLAGS(PhosphorLayer::Anchors)
Definition SurfaceAnimator.h:26
constexpr Anchors AnchorAll
Definition Role.h:48
KeyboardInteractivity
Keyboard focus policy (wlr-layer-shell v4 adds OnDemand).
Definition Role.h:51
@ Exclusive
Surface takes exclusive keyboard focus (modals)
@ OnDemand
Surface receives focus when clicked (panels)
@ None
Surface never receives keyboard focus (click-through)
Layer
Meta-object context for namespace-level enums so QML and QMetaEnum can stringify them.
Definition Role.h:24
@ Bottom
Above background, below windows (live wallpapers)
@ Overlay
Above everything including fullscreen (HUDs, OSDs)
@ Top
Above windows (panels, docks)
@ Background
Behind windows (wallpapers)
constexpr Anchors AnchorNone
Definition Role.h:47
Anchor
Edge anchors.
Definition Role.h:34
Value type describing a surface's protocol-level configuration.
Definition Role.h:77
Role withExclusiveZone(int z) const
Role withKeyboard(KeyboardInteractivity k) const
friend bool operator==(const Role &a, const Role &b)=default
Role withLayer(Layer l) const
Role withScopePrefix(QString prefix) const
bool isValid() const
True if this Role is a semantically valid wlr-layer-shell configuration.
Role withMargins(QMargins m) const
QMargins defaultMargins
Definition Role.h:82
Role withAnchors(Anchors a) const
QString scopePrefix
Namespace for this role's surfaces (wl_surface scope)
Definition Role.h:83