73 virtual void windowOpened(
const QString& windowId,
const QString& screenId,
int minWidth = 0,
74 int minHeight = 0) = 0;
77 void windowOpened(
const QString& windowId,
const QString& screenId)
79 windowOpened(windowId, screenId, 0, 0);
88 virtual void windowFocused(
const QString& windowId,
const QString& screenId) = 0;
317 bool wasFloating =
false;
375 Q_UNUSED(insertIndex)
388 Q_UNUSED(algorithmId)
417 Q_UNUSED(isWindowSticky)
425 Q_UNUSED(removedDesktop)
429 Q_UNUSED(validActivities)
461 virtual void retile(
const QString& screenId = QString())
Unified placement engine interface.
Definition IPlacementEngine.h:57
virtual QString activeScreen() const
Definition IPlacementEngine.h:394
virtual QString dragInsertPreviewScreenId() const
Definition IPlacementEngine.h:233
virtual void applyPerScreenConfig(const QString &screenId, const QVariantMap &overrides)
Definition IPlacementEngine.h:174
virtual void clearSavedFloatingForWindows(const QStringList &windowIds)
Remove saved floating state for the given windows (per-window, not bulk clear).
Definition IPlacementEngine.h:208
virtual void increaseMasterCount()
Definition IPlacementEngine.h:539
virtual QString engineId() const
Stable engine identity for HandoffContext.fromEngineId.
Definition IPlacementEngine.h:358
virtual void setAlgorithm(const QString &algorithmId)
Definition IPlacementEngine.h:386
void windowOpened(const QString &windowId, const QString &screenId)
Convenience overload — equivalent to windowOpened(id, screen, 0, 0).
Definition IPlacementEngine.h:77
virtual void setCurrentActivity(const QString &activity)
Definition IPlacementEngine.h:411
virtual int runtimeMaxWindows() const
Runtime max-windows limit.
Definition IPlacementEngine.h:452
virtual void setActiveScreenHint(const QString &screenId)
Definition IPlacementEngine.h:398
virtual void setWindowRegistry(QObject *registry)
Attach a window-class registry (QObject carrying WindowRegistry).
Definition IPlacementEngine.h:517
virtual void setActiveScreens(const QSet< QString > &screens)
Definition IPlacementEngine.h:150
virtual void windowFocused(const QString &windowId, const QString &screenId)=0
A window gained focus (called when the compositor reports activation).
virtual QString screenForTrackedWindow(const QString &windowId) const
Return the screen this engine considers the window to be on, or empty if the window isn't tracked by ...
Definition IPlacementEngine.h:272
virtual void increaseMasterRatio(qreal delta=0.05)
Definition IPlacementEngine.h:531
virtual bool isWindowTracked(const QString &windowId) const
Definition IPlacementEngine.h:237
virtual void commitDragInsertPreview()
Definition IPlacementEngine.h:227
virtual void moveFocusedInDirection(const QString &direction, const NavigationContext &ctx)=0
Move the focused window to the adjacent slot.
virtual void scheduleRetileForScreen(const QString &screenId)
Definition IPlacementEngine.h:465
virtual void swapFocusedWithMaster()
Definition IPlacementEngine.h:548
virtual void handoffRelease(const QString &windowId)
Release ownership of a window WITHOUT modifying its geometry.
Definition IPlacementEngine.h:350
virtual bool isWindowTiled(const QString &windowId) const
Whether the window is actively tiled (engine-owned, non-floating).
Definition IPlacementEngine.h:256
virtual ~IPlacementEngine()=default
virtual void setInitialWindowOrder(const QString &screenId, const QStringList &windowIds)
Definition IPlacementEngine.h:164
virtual void restoreFocusedWindow(const NavigationContext &ctx)=0
Restore the focused window out of its managed state.
virtual IPlacementState * stateForScreen(const QString &screenId)=0
Per-screen state object for the given screen.
virtual void handoffReceive(const HandoffContext &ctx)
Receive ownership of a window from another engine.
Definition IPlacementEngine.h:333
virtual void focusMaster()
Definition IPlacementEngine.h:545
virtual QString algorithmId() const
Definition IPlacementEngine.h:382
virtual void saveState()=0
virtual void deserializeEngineState(const QJsonObject &state)
Definition IPlacementEngine.h:560
virtual QJsonObject serializePendingRestores() const
Definition IPlacementEngine.h:501
virtual bool hasDragInsertPreview() const
Definition IPlacementEngine.h:217
virtual void focusInDirection(const QString &direction, const NavigationContext &ctx)=0
Move keyboard focus to the adjacent window.
virtual void windowOpened(const QString &windowId, const QString &screenId, int minWidth=0, int minHeight=0)=0
A new window appeared on this engine's screen.
virtual void clearModeSpecificFloatMarker(const QString &windowId)
Definition IPlacementEngine.h:198
virtual void moveFocusedToPosition(int position, const NavigationContext &ctx)=0
Move the focused window to the Nth position.
virtual void refreshConfigFromSettings()
Re-read all tuning values from the engine's settings interface.
Definition IPlacementEngine.h:441
virtual QSet< QString > activeScreens() const
Definition IPlacementEngine.h:146
virtual bool isWindowManaged(const QString &windowId) const
Whether the engine considers the window "managed" (eligible for layout operations).
Definition IPlacementEngine.h:248
virtual void retile(const QString &screenId=QString())
Definition IPlacementEngine.h:461
virtual const IPlacementState * stateForScreen(const QString &screenId) const =0
virtual bool isEnabled() const noexcept
Definition IPlacementEngine.h:390
virtual qreal effectiveSplitRatioStep(const QString &screenId) const
Definition IPlacementEngine.h:444
virtual QJsonArray serializeWindowOrders() const
Definition IPlacementEngine.h:493
virtual void clearSavedModeFloating()
Definition IPlacementEngine.h:485
virtual bool isActiveOnScreen(const QString &screenId) const =0
Whether this engine is active on the given screen.
virtual void toggleWindowFloat(const QString &windowId, const QString &screenId)=0
Toggle between managed and floating.
virtual void swapFocusedInDirection(const QString &direction, const NavigationContext &ctx)=0
Swap the focused window with the adjacent window.
virtual void deserializeWindowOrders(const QJsonArray &orders)
Definition IPlacementEngine.h:497
virtual bool isModeSpecificFloated(const QString &windowId) const
Definition IPlacementEngine.h:193
virtual void rotateWindows(bool clockwise, const NavigationContext &ctx)=0
Rotate all managed windows on the screen.
virtual void saveModeFloat(const QString &windowId)
Definition IPlacementEngine.h:481
virtual bool beginDragInsertPreview(const QString &windowId, const QString &screenId)
Definition IPlacementEngine.h:221
virtual void snapAllWindows(const NavigationContext &ctx)=0
Snap every unmanaged window on the screen to the current layout.
virtual void setWindowFloat(const QString &windowId, bool shouldFloat)=0
Set floating state explicitly (directional, not toggle).
virtual QJsonObject serializeEngineState() const
Definition IPlacementEngine.h:556
virtual void cycleFocus(bool forward, const NavigationContext &ctx)=0
Cycle keyboard focus through managed windows.
virtual void toggleFocusedFloat(const NavigationContext &ctx)=0
Toggle the focused window between managed and floating.
virtual void windowClosed(const QString &windowId)=0
A window was closed.
virtual void clearPerScreenConfig(const QString &screenId)
Definition IPlacementEngine.h:179
virtual bool restoreSavedModeFloat(const QString &windowId)
Definition IPlacementEngine.h:202
virtual void reapplyLayout(const NavigationContext &ctx)=0
Re-apply the current layout to all managed windows.
virtual void updateStickyScreenPins(const std::function< bool(const QString &)> &isWindowSticky)
Definition IPlacementEngine.h:415
virtual void updateDragInsertPreview(int insertIndex)
Update the target insert index for an active drag-insert preview.
Definition IPlacementEngine.h:373
virtual void setCurrentDesktop(int desktop)
Definition IPlacementEngine.h:407
virtual void cancelDragInsertPreview()
Definition IPlacementEngine.h:230
virtual void decreaseMasterRatio(qreal delta=0.05)
Definition IPlacementEngine.h:535
virtual void deserializePendingRestores(const QJsonObject &obj)
Definition IPlacementEngine.h:505
virtual void setIsWindowFloatingFn(std::function< bool(const QString &)> fn)
Definition IPlacementEngine.h:522
virtual void loadState()=0
virtual void pruneStatesForDesktop(int removedDesktop)
Definition IPlacementEngine.h:423
virtual void pushToEmptyZone(const NavigationContext &ctx)=0
Move the focused window to the first empty slot.
virtual void markModeSpecificFloated(const QString &windowId)
Definition IPlacementEngine.h:474
virtual void decreaseMasterCount()
Definition IPlacementEngine.h:542
virtual int computeDragInsertIndexAtPoint(const QString &screenId, const QPoint &cursorPos) const
Compute the insert index for a cursor position on a managed screen.
Definition IPlacementEngine.h:365
virtual QSet< int > desktopsWithActiveState() const
Definition IPlacementEngine.h:419
virtual void clearAllSavedFloating()
Definition IPlacementEngine.h:478
virtual QStringList managedWindowOrder(const QString &screenId) const
Definition IPlacementEngine.h:159
virtual QVariantMap perScreenOverrides(const QString &screenId) const
Definition IPlacementEngine.h:183
virtual void pruneStatesForActivities(const QStringList &validActivities)
Definition IPlacementEngine.h:427
Per-screen placement state contract.
Definition IPlacementState.h:26
Definition EngineTypes.h:13
Context for a cross-engine window handoff.
Definition IPlacementEngine.h:310
QString fromEngineId
source engine identity ("snap" / "autotile" / "")
Definition IPlacementEngine.h:312
QRect sourceGeometry
window's frame at handoff time (for size preservation)
Definition IPlacementEngine.h:315
QPoint dropPos
cursor position at drop, or invalid for non-drag handoffs
Definition IPlacementEngine.h:314
QString toScreenId
destination screen (must be owned by to engine)
Definition IPlacementEngine.h:313
QStringList sourceZoneIds
zones the window held at source (empty if not snapped)
Definition IPlacementEngine.h:316
QString windowId
Definition IPlacementEngine.h:311
Target window + screen for a navigation or lifecycle operation.
Definition NavigationContext.h:18