Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
INavigationStateProvider.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <phosphorsnapengine_export.h>
7
8#include <QRect>
9#include <QString>
10
11namespace PhosphorSnapEngine {
12
31class PHOSPHORSNAPENGINE_EXPORT INavigationStateProvider
32{
33public:
36
38 virtual QString lastCursorScreenName() const = 0;
39
41 virtual QString lastActiveScreenName() const = 0;
42
44 virtual QString lastActiveWindowId() const = 0;
45
48 virtual QRect frameGeometry(const QString& windowId) const = 0;
49
52};
53
54} // namespace PhosphorSnapEngine
Narrow read-only interface for compositor-layer state queries.
Definition INavigationStateProvider.h:32
INavigationStateProvider & operator=(const INavigationStateProvider &)=delete
virtual QRect frameGeometry(const QString &windowId) const =0
Live frame geometry for windowId as reported by the compositor.
INavigationStateProvider(const INavigationStateProvider &)=delete
virtual QString lastActiveScreenName() const =0
Screen that most recently held the active (focused) window.
virtual QString lastCursorScreenName() const =0
Screen that most recently contained the mouse cursor.
virtual QString lastActiveWindowId() const =0
Window ID that most recently received keyboard focus.
Definition WindowTrackingService.h:37