Changeset View
Changeset View
Standalone View
Standalone View
wayland_server.h
Show First 20 Lines • Show All 50 Lines • ▼ Show 20 Line(s) | |||||
51 | class OutputInterface; | 51 | class OutputInterface; | ||
52 | class PlasmaShellInterface; | 52 | class PlasmaShellInterface; | ||
53 | class PlasmaShellSurfaceInterface; | 53 | class PlasmaShellSurfaceInterface; | ||
54 | class PlasmaWindowManagementInterface; | 54 | class PlasmaWindowManagementInterface; | ||
55 | class QtSurfaceExtensionInterface; | 55 | class QtSurfaceExtensionInterface; | ||
56 | class OutputManagementInterface; | 56 | class OutputManagementInterface; | ||
57 | class OutputConfigurationInterface; | 57 | class OutputConfigurationInterface; | ||
58 | class XdgShellInterface; | 58 | class XdgShellInterface; | ||
59 | class XdgForeignInterface; | ||||
59 | } | 60 | } | ||
60 | } | 61 | } | ||
61 | 62 | | |||
62 | namespace KWin | 63 | namespace KWin | ||
63 | { | 64 | { | ||
64 | class ShellClient; | 65 | class ShellClient; | ||
65 | 66 | | |||
66 | class AbstractClient; | 67 | class AbstractClient; | ||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Line(s) | 73 | public: | |||
108 | } | 109 | } | ||
109 | void removeClient(ShellClient *c); | 110 | void removeClient(ShellClient *c); | ||
110 | ShellClient *findClient(quint32 id) const; | 111 | ShellClient *findClient(quint32 id) const; | ||
111 | ShellClient *findClient(KWayland::Server::SurfaceInterface *surface) const; | 112 | ShellClient *findClient(KWayland::Server::SurfaceInterface *surface) const; | ||
112 | AbstractClient *findAbstractClient(KWayland::Server::SurfaceInterface *surface) const; | 113 | AbstractClient *findAbstractClient(KWayland::Server::SurfaceInterface *surface) const; | ||
113 | ShellClient *findClient(QWindow *w) const; | 114 | ShellClient *findClient(QWindow *w) const; | ||
114 | 115 | | |||
115 | /** | 116 | /** | ||
117 | * return a transient parent of a surface imported with the foreign protocol, if any | ||||
118 | */ | ||||
119 | KWayland::Server::SurfaceInterface *findForeignTransientForSurface(KWayland::Server::SurfaceInterface *surface); | ||||
120 | | ||||
121 | /** | ||||
116 | * @returns file descriptor for Xwayland to connect to. | 122 | * @returns file descriptor for Xwayland to connect to. | ||
117 | **/ | 123 | **/ | ||
118 | int createXWaylandConnection(); | 124 | int createXWaylandConnection(); | ||
119 | void destroyXWaylandConnection(); | 125 | void destroyXWaylandConnection(); | ||
120 | 126 | | |||
121 | /** | 127 | /** | ||
122 | * @returns file descriptor to the input method server's socket. | 128 | * @returns file descriptor to the input method server's socket. | ||
123 | **/ | 129 | **/ | ||
▲ Show 20 Lines • Show All 60 Lines • ▼ Show 20 Line(s) | |||||
184 | **/ | 190 | **/ | ||
185 | SocketPairConnection createConnection(); | 191 | SocketPairConnection createConnection(); | ||
186 | 192 | | |||
187 | Q_SIGNALS: | 193 | Q_SIGNALS: | ||
188 | void shellClientAdded(KWin::ShellClient*); | 194 | void shellClientAdded(KWin::ShellClient*); | ||
189 | void shellClientRemoved(KWin::ShellClient*); | 195 | void shellClientRemoved(KWin::ShellClient*); | ||
190 | void terminatingInternalClientConnection(); | 196 | void terminatingInternalClientConnection(); | ||
191 | void initialized(); | 197 | void initialized(); | ||
198 | void foreignTransientChanged(KWayland::Server::SurfaceInterface *child); | ||||
graesslin: why add the parent if it's never used? | |||||
192 | 199 | | |||
193 | private: | 200 | private: | ||
194 | void setupX11ClipboardSync(); | 201 | void setupX11ClipboardSync(); | ||
195 | void shellClientShown(Toplevel *t); | 202 | void shellClientShown(Toplevel *t); | ||
196 | void initOutputs(); | 203 | void initOutputs(); | ||
197 | void syncOutputsToWayland(); | 204 | void syncOutputsToWayland(); | ||
198 | quint16 createClientId(KWayland::Server::ClientConnection *c); | 205 | quint16 createClientId(KWayland::Server::ClientConnection *c); | ||
199 | void destroyInternalConnection(); | 206 | void destroyInternalConnection(); | ||
Show All 27 Lines | 228 | struct { | |||
227 | bool interfacesAnnounced = false; | 234 | bool interfacesAnnounced = false; | ||
228 | 235 | | |||
229 | } m_internalConnection; | 236 | } m_internalConnection; | ||
230 | struct { | 237 | struct { | ||
231 | QProcess *process = nullptr; | 238 | QProcess *process = nullptr; | ||
232 | KWayland::Server::ClientConnection *client = nullptr; | 239 | KWayland::Server::ClientConnection *client = nullptr; | ||
233 | QPointer<KWayland::Server::DataDeviceInterface> ddi; | 240 | QPointer<KWayland::Server::DataDeviceInterface> ddi; | ||
234 | } m_xclipbaordSync; | 241 | } m_xclipbaordSync; | ||
242 | KWayland::Server::XdgForeignInterface *m_XdgForeign = nullptr; | ||||
235 | QList<ShellClient*> m_clients; | 243 | QList<ShellClient*> m_clients; | ||
236 | QList<ShellClient*> m_internalClients; | 244 | QList<ShellClient*> m_internalClients; | ||
237 | QHash<KWayland::Server::ClientConnection*, quint16> m_clientIds; | 245 | QHash<KWayland::Server::ClientConnection*, quint16> m_clientIds; | ||
238 | InitalizationFlags m_initFlags; | 246 | InitalizationFlags m_initFlags; | ||
239 | QVector<KWayland::Server::PlasmaShellSurfaceInterface*> m_plasmaShellSurfaces; | 247 | QVector<KWayland::Server::PlasmaShellSurfaceInterface*> m_plasmaShellSurfaces; | ||
240 | KWIN_SINGLETON(WaylandServer) | 248 | KWIN_SINGLETON(WaylandServer) | ||
241 | }; | 249 | }; | ||
242 | 250 | | |||
Show All 9 Lines |
why add the parent if it's never used?