Abstract interface bridging compositor-agnostic logic to compositor-specific APIs. More...
#include <phosphor-compositor/include/PhosphorCompositor/ICompositorBridge.h>
Public Member Functions | |
| ICompositorBridge ()=default | |
| virtual | ~ICompositorBridge ()=default |
| ICompositorBridge (const ICompositorBridge &)=delete | |
| ICompositorBridge & | operator= (const ICompositorBridge &)=delete |
| ICompositorBridge (ICompositorBridge &&)=delete | |
| ICompositorBridge & | operator= (ICompositorBridge &&)=delete |
| virtual WindowHandle | findWindowById (const QString &windowId) const =0 |
| Find a window by its full window ID ("appId|instanceId") | |
| virtual QVector< WindowHandle > | findAllWindowsById (const QString &windowId) const =0 |
| Find all windows matching a window ID (exact + appId fallback for disambiguation) | |
| virtual QVector< WindowHandle > | stackingOrder () const =0 |
| Get all managed windows in stacking order (bottom to top) | |
| virtual QString | windowId (WindowHandle w) const =0 |
| Get the full window ID for a window ("appId|instanceId") | |
| virtual QString | windowScreenId (WindowHandle w) const =0 |
| Get the screen ID where a window is located. | |
| virtual QRectF | frameGeometry (WindowHandle w) const =0 |
| virtual QSizeF | minSize (WindowHandle w) const =0 |
| virtual bool | isMinimized (WindowHandle w) const =0 |
| virtual bool | isOnCurrentDesktop (WindowHandle w) const =0 |
| virtual bool | isOnCurrentActivity (WindowHandle w) const =0 |
| virtual bool | hasDecoration (WindowHandle w) const =0 |
| virtual WindowInfo | windowInfo (WindowHandle w) const =0 |
| Fill a WindowInfo snapshot (for bulk operations) | |
| virtual bool | shouldHandleWindow (WindowHandle w) const =0 |
| Should this window be managed by PlasmaZones at all? | |
| virtual bool | isTileableWindow (WindowHandle w) const =0 |
| Is this window eligible for autotile (stricter than shouldHandle)? | |
| virtual void | moveResize (WindowHandle w, const QRectF &geometry)=0 |
| Move/resize a window to the given geometry. | |
| virtual void | setNoBorder (WindowHandle w, bool noBorder)=0 |
| Set/remove server-side decoration (title bar) | |
| virtual void | setMaximized (WindowHandle w, bool maximized)=0 |
| Maximize or restore a window. | |
| virtual void | activateWindow (WindowHandle w)=0 |
| Give input focus to a window. | |
| virtual void | raiseWindow (WindowHandle w)=0 |
| Raise a window in the stacking order. | |
| virtual void | applySnapGeometry (WindowHandle w, const QRectF &geometry, bool skipAnimation=false)=0 |
| Apply snap geometry with optional animation. | |
| virtual QObject * | asQObject ()=0 |
| Get the QObject parent for D-Bus watcher ownership. | |
| virtual bool | isDaemonReady () const =0 |
| Check if the daemon D-Bus service is registered and ready. | |
| virtual void | invalidateScreenIdCache ()=0 |
| Invalidate cached screen IDs (call on screen add/remove/reconfigure) | |
Abstract interface bridging compositor-agnostic logic to compositor-specific APIs.
This interface allows shared code (autotile state management, D-Bus signal dispatch, snap assist candidate building, etc.) to operate on windows without knowing whether the compositor is KWin, Wayfire, or something else.
Each compositor plugin implements this interface. The shared code calls these methods instead of directly accessing compositor-specific APIs.
Design principles:
|
default |
|
virtualdefault |
|
delete |
|
delete |
|
pure virtual |
Give input focus to a window.
|
pure virtual |
Apply snap geometry with optional animation.
|
pure virtual |
Get the QObject parent for D-Bus watcher ownership.
|
pure virtual |
Find all windows matching a window ID (exact + appId fallback for disambiguation)
|
pure virtual |
Find a window by its full window ID ("appId|instanceId")
|
pure virtual |
|
pure virtual |
|
pure virtual |
Invalidate cached screen IDs (call on screen add/remove/reconfigure)
|
pure virtual |
Check if the daemon D-Bus service is registered and ready.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Is this window eligible for autotile (stricter than shouldHandle)?
|
pure virtual |
|
pure virtual |
Move/resize a window to the given geometry.
|
delete |
|
delete |
|
pure virtual |
Raise a window in the stacking order.
|
pure virtual |
Maximize or restore a window.
|
pure virtual |
Set/remove server-side decoration (title bar)
|
pure virtual |
Should this window be managed by PlasmaZones at all?
|
pure virtual |
Get all managed windows in stacking order (bottom to top)
|
pure virtual |
Get the full window ID for a window ("appId|instanceId")
|
pure virtual |
Fill a WindowInfo snapshot (for bulk operations)
|
pure virtual |
Get the screen ID where a window is located.