6#include "phosphorscreens_export.h"
8#include <QDBusAbstractAdaptor>
45 Q_CLASSINFO(
"D-Bus Interface",
"org.plasmazones.Screen")
116 void handleScreenGeometryChanged(QScreen* screen,
const QString& physId);
117 void handleScreenRemoved(QScreen* removedScreen, QScreen* targetScreen,
const QString& cachedId);
126 void handleScreenIdentifierChanged(
const QString& oldId,
const QString& newId);
127 bool emitForEffectiveScreens(
const QString& physId,
const std::function<
void(
const QString&)>& emitFn);
128 void invalidateScreenInfoCache();
131 void wireQGuiApplicationSignals();
133 QString m_primaryScreenOverride;
138 QPointer<ScreenManager> m_screenManager;
139 QPointer<IConfigStore> m_configStore;
141 QStringList m_lastEmittedEffectiveIds;
142 QHash<QString, QStringList> m_cachedEffectiveIdsPerScreen;
143 QHash<QString, QString> m_cachedScreenInfoJson;
145 bool m_qGuiAppSignalsWired =
false;
D-Bus adaptor for the org.plasmazones.Screen screen-topology surface: screen queries,...
Definition DBusScreenAdaptor.h:43
QString getPrimaryScreen()
void screenGeometryChanged(const QString &screenId)
QRect getScreenGeometry(const QString &screenId)
QString setVirtualScreenConfig(const QString &physicalScreenId, const QString &configJson)
Set the virtual screen subdivision configuration for a physical screen.
void virtualScreensChanged(const QString &physicalScreenId)
QString getScreenInfo(const QString &screenId)
QString getScreenId(const QString &connectorName)
QRect getAvailableGeometry(const QString &screenId)
~DBusScreenAdaptor() override
QStringList getPhysicalScreens()
void screenAdded(const QString &screenId)
DBusScreenAdaptor(ScreenManager *manager, IConfigStore *store, QObject *parent=nullptr)
Primary constructor: wires the screen-topology service and the VS config store at construction time.
void screenRemoved(const QString &screenId)
IConfigStore * configStore() const
QString rotateVirtualScreens(const QString &physicalScreenId, bool clockwise)
Rotate every VS region on physicalScreenId through a spatial clockwise ring order.
QString getVirtualScreenConfig(const QString &physicalScreenId)
QString getEffectiveScreenAt(int x, int y)
QString swapVirtualScreenInDirection(const QString ¤tVirtualScreenId, const QString &direction)
Swap the region of currentVirtualScreenId with the adjacent sibling VS in the given direction (left/r...
ScreenManager * screenManager() const
void setPrimaryScreenFromKWin(const QString &connectorName)
void setAvailableGeometryFromKWin(const QString &screenName, int x, int y, int width, int height)
Record the authoritative per-screen available geometry as reported by the compositor (the KWin effect...
Pluggable persistence for virtual-screen configurations.
Definition IConfigStore.h:37
Centralized screen-topology service.
Definition Manager.h:75
Definition IWindowTrackingService.h:26