6#include <phosphorcompositor_export.h>
20class QDBusServiceWatcher;
43 m_dragHandler = handler;
48 m_geometryHandler = handler;
53 m_lifecycleHandler = handler;
57 void registerBridge(
const QString& compositorId,
int apiVersion,
const QStringList& capabilities);
60 void notifyWindowOpened(
const QString& windowId,
const QString& screenId,
int minWidth = 0,
int minHeight = 0);
78 void beginDrag(
const QString& windowId,
const QRect& frameGeometry,
const QString& startScreenId,
79 int mouseButtons = 0);
80 void updateDragCursor(
const QString& windowId,
int cursorX,
int cursorY,
int modifiers = 0,
int mouseButtons = 0);
81 void endDrag(
const QString& windowId,
int cursorX,
int cursorY,
int modifiers = 0,
int mouseButtons = 0,
82 bool cancelled =
false);
133 void onDaemonReadySignal();
134 void onServiceRegistered();
135 void onServiceUnregistered();
136 void handleApplyGeometry(
const QString& windowId,
int x,
int y,
int w,
int h,
const QString& zoneId,
137 const QString& screenId,
bool sizeOnly);
139 void handleRaiseWindows(
const QStringList& windowIds);
140 void handleActivateWindow(
const QString& windowId);
142 void handleWindowFloatingChanged(
const QString& windowId,
bool isFloating,
const QString& screenId);
143 void handleRestoreSizeDuringDrag(
const QString& windowId,
int width,
int height);
144 void handleMoveWindowToZone(
const QString& windowId,
const QString& screenId,
int x,
int y,
int w,
int h);
145 void handleSnapAllWindows(
const QString& screenId);
146 void handleSnapAssistReady(
const QString& windowId,
const QString& screenId,
150 void connectDaemonSignals();
151 void disconnectDaemonSignals();
153 QDBusServiceWatcher* m_serviceWatcher =
nullptr;
158 bool m_daemonReady =
false;
159 bool m_daemonSignalsConnected =
false;
160 bool m_registrationInFlight =
false;
Definition DaemonClient.h:25
void daemonDisconnected()
DaemonClient(QObject *parent=nullptr)
void setDragHandler(IDragHandler *handler)
Definition DaemonClient.h:41
void queryPendingRestoreGeometries()
void endDrag(const QString &windowId, int cursorX, int cursorY, int modifiers=0, int mouseButtons=0, bool cancelled=false)
void registerBridge(const QString &compositorId, int apiVersion, const QStringList &capabilities)
void pruneStaleWindows(const QStringList &liveWindowIds)
void notifyCursorScreenChanged(const QString &screenId)
void notifyWindowActivated(const QString &windowId, const QString &screenId)
void queryVirtualScreens(const QString &screenId)
void queryFloatingWindows()
void bridgeRegistered(const QString &sessionId, int peerApiVersion)
void snappedWindowsReceived(const QStringList &windowIds)
void floatingWindowsReceived(const QStringList &windowIds)
void beginDrag(const QString &windowId, const QRect &frameGeometry, const QString &startScreenId, int mouseButtons=0)
Canonical drag surface, mirroring org.plasmazones.WindowDrag.
void setGeometryHandler(IGeometryHandler *handler)
Definition DaemonClient.h:46
void reapplyGeometriesRequested()
void virtualScreensChanged(const QString &screenId)
void pendingRestoresAvailable()
void querySnappedWindows()
void notifyWindowOpened(const QString &windowId, const QString &screenId, int minWidth=0, int minHeight=0)
void snapAssistReady(const QString &windowId, const QString &screenId, const PhosphorProtocol::EmptyZoneList &zones)
void dragOutcomeReceived(const QString &windowId, const PhosphorProtocol::DragOutcome &outcome)
Daemon's reply to endDrag.
void pendingRestoreGeometriesReceived(const QString &json)
void probeDaemonAvailable(int timeoutMs=PhosphorProtocol::Service::DaemonReadyProbeTimeoutMs)
void notifyPrimaryScreen(const QString &screenName)
void notifyWindowClosed(const QString &windowId)
void bridgeRejected(const QString &reason)
void virtualScreensReceived(const QString &screenId, const PhosphorProtocol::WindowGeometryList &geometries)
void notifyWindowOpenedBatch(const PhosphorProtocol::WindowOpenedList &windows)
void runningWindowsRequested()
bool isDaemonReady() const
Definition DaemonClient.h:32
void dragPolicyReceived(const QString &windowId, const PhosphorProtocol::DragPolicy &policy)
Daemon's reply to beginDrag.
void updateDragCursor(const QString &windowId, int cursorX, int cursorY, int modifiers=0, int mouseButtons=0)
void setLifecycleHandler(ILifecycleHandler *handler)
Definition DaemonClient.h:51
Definition IDragHandler.h:13
Definition IGeometryHandler.h:30
Definition ILifecycleHandler.h:12
Definition DaemonClient.h:22
constexpr int DaemonReadyProbeTimeoutMs
Definition ServiceConstants.h:344
QList< WindowGeometryEntry > WindowGeometryList
Definition WindowTypes.h:51
QList< WindowOpenedEntry > WindowOpenedList
Definition WindowTypes.h:73
QList< EmptyZoneEntry > EmptyZoneList
Definition ZoneTypes.h:58
Drag outcome — daemon-authoritative decision about what to apply at drag end.
Definition DragTypes.h:103
Drag policy — daemon-authoritative decision about how a drag should be handled.
Definition DragTypes.h:76