7#include <phosphorengine_export.h>
49 void claimWindow(
const QString& windowId,
const QRect& geometry,
const QString& screenId,
bool overwrite =
false);
60 bool overwrite =
false);
64 return m_unmanagedGeometries;
85 return m_engineSettings;
103 void navigationFeedback(
bool success,
const QString& action,
const QString& reason,
const QString& sourceId,
104 const QString& targetId,
const QString& screenId);
122 void windowsReleased(
const QStringList& windowIds,
const QSet<QString>& releasedScreenIds);
129 QHash<QString, UnmanagedEntry> m_unmanagedGeometries;
130 QHash<QString, WindowState> m_windowStates;
131 QPointer<QObject> m_engineSettings;
Unified placement engine interface.
Definition IPlacementEngine.h:57
Abstract base class for placement engines.
Definition PlacementEngineBase.h:37
void setEngineSettings(QObject *settings)
void setUnmanagedGeometries(const QHash< QString, UnmanagedEntry > &geos)
void windowFloatingStateSynced(const QString &windowId, bool floating, const QString &screenId)
Emitted to sync floating state without restoring geometry.
void windowFloatingChanged(const QString &windowId, bool floating, const QString &screenId)
virtual void onWindowReleased(const QString &windowId)=0
const QHash< QString, UnmanagedEntry > & unmanagedGeometries() const
Definition PlacementEngineBase.h:62
void deserializeBaseState(const QJsonObject &state)
void forgetWindow(const QString &windowId)
void unfloatWindow(const QString &windowId)
QString unmanagedScreen(const QString &windowId) const
WindowState windowState(const QString &windowId) const
void algorithmChanged(const QString &algorithmId)
Emitted when the active tiling algorithm changes.
void geometryRestoreRequested(const QString &windowId, const QRect &geometry, const QString &screenId)
void windowStateTransitioned(const QString &windowId, WindowState oldState, WindowState newState)
bool hasUnmanagedGeometry(const QString &windowId) const
void activateWindowRequested(const QString &windowId)
void claimWindow(const QString &windowId, const QRect &geometry, const QString &screenId, bool overwrite=false)
void floatWindow(const QString &windowId)
PlacementEngineBase(QObject *parent=nullptr)
void placementChanged(const QString &screenId)
Emitted when the placement layout changes for a screen.
virtual void onWindowClaimed(const QString &windowId)=0
QJsonObject serializeBaseState() const
virtual int pruneStaleWindows(const QSet< QString > &aliveWindowIds)
void storeUnmanagedGeometry(const QString &windowId, const QRect &geometry, const QString &screenId, bool overwrite=false)
void settingsPersistRequested()
Emitted when the engine writes tuning values back to the settings object and wants the daemon to pers...
void releaseWindow(const QString &windowId)
void windowsReleased(const QStringList &windowIds, const QSet< QString > &releasedScreenIds)
Emitted when windows are released from engine management.
void clearUnmanagedGeometry(const QString &windowId)
virtual void onWindowUnfloated(const QString &windowId)=0
~PlacementEngineBase() override
void navigationFeedback(bool success, const QString &action, const QString &reason, const QString &sourceId, const QString &targetId, const QString &screenId)
void windowsBatchFloated(const QStringList &windowIds, const QString &screenId)
Emitted when overflow windows are batch-floated during applyTiling.
virtual void onWindowFloated(const QString &windowId)=0
QObject * engineSettings() const
Definition PlacementEngineBase.h:83
QRect unmanagedGeometry(const QString &windowId) const
Definition EngineTypes.h:13
WindowState
Definition PlacementEngineBase.h:20
Definition PlacementEngineBase.h:42
QString screenId
Definition PlacementEngineBase.h:44
QRect geometry
Definition PlacementEngineBase.h:43