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

Compositor-agnostic trigger parsing and modifier checking. More...

Functions

bool checkModifier (int modifierSetting, Qt::KeyboardModifiers mods)
 Map DragModifier enum value to Qt modifier flags.
 
bool anyTriggerHeld (const QVector< ParsedTrigger > &triggers, Qt::KeyboardModifiers mods, Qt::MouseButtons mouseButtons)
 Check if any parsed trigger is currently held.
 
PHOSPHORCOMPOSITOR_EXPORT QVector< ParsedTriggerparseTriggers (const QVariant &triggerVariant, const QString &modifierFieldName, const QString &mouseButtonFieldName)
 Parse trigger list from D-Bus QVariantList (handles QDBusArgument wrapping)
 

Detailed Description

Compositor-agnostic trigger parsing and modifier checking.

Used by all compositor plugins to parse activation triggers from D-Bus and check if the current modifier/button state matches any trigger.

Function Documentation

◆ anyTriggerHeld()

bool PhosphorCompositor::TriggerParser::anyTriggerHeld ( const QVector< ParsedTrigger > &  triggers,
Qt::KeyboardModifiers  mods,
Qt::MouseButtons  mouseButtons 
)
inline

Check if any parsed trigger is currently held.

Parameters
triggersPre-parsed trigger list
modsCurrent keyboard modifier state
mouseButtonsCurrent mouse button state
Returns
true if any trigger matches

◆ checkModifier()

bool PhosphorCompositor::TriggerParser::checkModifier ( int  modifierSetting,
Qt::KeyboardModifiers  mods 
)
inline

Map DragModifier enum value to Qt modifier flags.

Must stay in sync with WindowDragAdaptor::checkModifier() in the daemon. The enum values are defined in src/core/interfaces.h (DragModifier).

◆ parseTriggers()

PHOSPHORCOMPOSITOR_EXPORT QVector< ParsedTrigger > PhosphorCompositor::TriggerParser::parseTriggers ( const QVariant &  triggerVariant,
const QString &  modifierFieldName,
const QString &  mouseButtonFieldName 
)

Parse trigger list from D-Bus QVariantList (handles QDBusArgument wrapping)

D-Bus may deliver QVariantList-of-QVariantMap as QDBusArgument. This function handles both wrapped and unwrapped forms.

Parameters
triggerVariantThe raw QVariant from D-Bus
modifierFieldNameConfig key for the modifier field
mouseButtonFieldNameConfig key for the mouse button field
Returns
Vector of parsed triggers