Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
IGeometryHandler.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 <phosphorcompositor_export.h>
7#include <QRect>
8#include <QString>
9#include <QStringList>
10#include <QVector>
11
12namespace PhosphorCompositor {
13
15{
16 QString windowId;
17 QRect geometry;
18 QString zoneId;
19 QString screenId;
20 bool sizeOnly = false;
21};
22
23enum class BatchAction {
24 Resnap,
25 Rotate,
27};
28
29class PHOSPHORCOMPOSITOR_EXPORT IGeometryHandler
30{
31public:
32 virtual ~IGeometryHandler() = default;
33
34 virtual void onApplyGeometry(const GeometryRequest& request) = 0;
35 virtual void onApplyGeometriesBatch(const QVector<GeometryRequest>& requests, BatchAction action) = 0;
36 virtual void onRaiseWindows(const QStringList& windowIds) = 0;
37 virtual void onActivateWindow(const QString& windowId) = 0;
38 virtual void onMoveWindowToZone(const QString& windowId, const QString& screenId, int x, int y, int w, int h) = 0;
39 virtual void onSnapAllWindows(const QString& screenId) = 0;
40};
41
42} // namespace PhosphorCompositor
Definition IGeometryHandler.h:30
virtual void onRaiseWindows(const QStringList &windowIds)=0
virtual void onActivateWindow(const QString &windowId)=0
virtual void onApplyGeometry(const GeometryRequest &request)=0
virtual void onSnapAllWindows(const QString &screenId)=0
virtual void onMoveWindowToZone(const QString &windowId, const QString &screenId, int x, int y, int w, int h)=0
virtual void onApplyGeometriesBatch(const QVector< GeometryRequest > &requests, BatchAction action)=0
Definition AutotileState.h:16
BatchAction
Definition IGeometryHandler.h:23
Definition IGeometryHandler.h:15
bool sizeOnly
Definition IGeometryHandler.h:20
QRect geometry
Definition IGeometryHandler.h:17
QString windowId
Definition IGeometryHandler.h:16
QString screenId
Definition IGeometryHandler.h:19
QString zoneId
Definition IGeometryHandler.h:18