One side (tiled or floating) of a layer focus switch, as the owning engine sees it. More...
#include <phosphor-engine/include/PhosphorEngine/LayerFocusSwitch.h>
Public Attributes | |
| QString | candidate |
| Preferred target on this side: the side's remembered last focus, or, for an engine whose live selection IS the side, its current active window (the scroll strip's tiled side). | |
| QStringList | fallbacks |
| Ordered fallback pool scanned when the candidate is not eligible. | |
| std::function< bool(const QString &)> | isEligible |
| Eligibility filter applied to the candidate and every fallback. | |
| QString | focusForFeedback |
| The window reported as the feedback SOURCE when this side holds focus (i.e. | |
One side (tiled or floating) of a layer focus switch, as the owning engine sees it.
The resolver never touches engine state — the engine snapshots what it knows into this struct and interprets the result.
| QString PhosphorEngine::LayerSwitchSide::candidate |
Preferred target on this side: the side's remembered last focus, or, for an engine whose live selection IS the side, its current active window (the scroll strip's tiled side).
May be empty or stale — an ineligible candidate falls through to the scan.
| QStringList PhosphorEngine::LayerSwitchSide::fallbacks |
Ordered fallback pool scanned when the candidate is not eligible.
May be empty for engines whose candidate is authoritative (the scroll strip's active window IS the tiled side, no scan exists).
| QString PhosphorEngine::LayerSwitchSide::focusForFeedback |
The window reported as the feedback SOURCE when this side holds focus (i.e.
when the switch departs from this side). Passed through UNVALIDATED — no eligibility filter runs on it — so supply the live focus, or a memory the engine keeps in lockstep with it (the scroll engine's lastFloatingFocus, written on every floating focus report). The resolver only ever reads the source side's value, so callers that know the live focus can assign the same value to both sides.
| std::function<bool(const QString&)> PhosphorEngine::LayerSwitchSide::isEligible |
Eligibility filter applied to the candidate and every fallback.
Null means always eligible. Typical filter: "still on this side and not minimized" — the daemon models minimize as a float, so a remembered focus can name a hidden window that must not be "activated" with success reported.