20class AppMenuManagerInterface;
21class ClientConnection;
22class CompositorInterface;
24class DataDeviceInterface;
26class InputMethodV1Interface;
28class DataDeviceManagerInterface;
29class ServerSideDecorationManagerInterface;
30class ServerSideDecorationPaletteManagerInterface;
31class SurfaceInterface;
33class PlasmaShellInterface;
34class PlasmaWindowActivationFeedbackInterface;
35class PlasmaVirtualDesktopManagementInterface;
36class PlasmaWindowManagementInterface;
37class OutputDeviceV2Interface;
38class OutputManagementV2Interface;
39class XdgExportedSurface;
40class XdgForeignV2Interface;
41class XdgOutputManagerV1Interface;
42class DrmClientBufferIntegration;
43class LinuxDmaBufV1ClientBufferIntegration;
44class TabletManagerV2Interface;
45class KeyboardShortcutsInhibitManagerV1Interface;
46class XdgDecorationManagerV1Interface;
47class XWaylandKeyboardGrabManagerV1Interface;
48class ContentTypeManagerV1Interface;
49class DrmLeaseManagerV1;
50class TearingControlManagerV1Interface;
51class XwaylandShellV1Interface;
52class OutputOrderV1Interface;
55class XdgActivationV1Integration;
57class XdgSurfaceWindow;
58class XdgToplevelWindow;
59class PresentationTime;
60class XXColorManagerV2;
70 NoLockScreenIntegration = 0x2,
71 NoGlobalShortcuts = 0x4
74 Q_DECLARE_FLAGS(InitializationFlags, InitializationFlag)
77 bool init(
const QString &socketName, InitializationFlags flags = InitializationFlag::NoOptions);
78 bool init(InitializationFlags flags = InitializationFlag::NoOptions);
96 return m_tabletManagerV2;
100 return m_dataDeviceManager;
104 return m_plasmaActivationFeedback;
108 return m_virtualDesktopManagement;
112 return m_windowManagement;
116 return m_decorationManager;
120 return m_xdgOutputManagerV1;
124 return m_keyboardShortcutsInhibitManager;
128 return m_xwaylandShell;
131 bool isKeyboardShortcutsInhibited()
const;
138 return m_inputMethod;
148 void removeWindow(
Window *c);
166 int createXWaylandConnection();
167 void destroyXWaylandConnection();
172 int createInputMethodConnection();
173 void destroyInputMethodConnection();
178 bool isScreenLocked()
const;
182 bool hasScreenLockerIntegration()
const;
187 bool hasGlobalShortcutSupport()
const;
189 void initWorkspace();
195 return m_screenLockerClientConnection;
222 QString socketName()
const;
226 return m_xdgActivationIntegration;
237 int createScreenLockerConnection();
238 void initScreenLocker();
239 void registerXdgGenericWindow(
Window *window);
242 void registerWindow(
Window *window);
243 void handleOutputAdded(
Output *output);
244 void handleOutputRemoved(
Output *output);
245 void handleOutputEnabled(
Output *output);
246 void handleOutputDisabled(
Output *output);
248 class LockScreenPresentationWatcher :
public QObject
254 QSet<Output *> m_signaledOutputs;
276 QPointer<ClientConnection> m_xwaylandConnection;
278 QPointer<ClientConnection> m_inputMethodServerConnection;
287 QList<Window *> m_windows;
288 InitializationFlags m_initFlags;
289 QHash<Output *, OutputInterface *> m_waylandOutputs;
290 QHash<Output *, OutputDeviceV2Interface *> m_waylandOutputDevices;
299 return WaylandServer::self();
Convenient Class which represents a wl_client.
Represents the Global for wl_data_device_manager interface.
Class holding the Wayland server display loop.
Global representing the org_kde_kwin_idle interface.
Global for the org_kde_plasma_shell interface.
Wrapper for the org_kde_plasma_virtual_desktop_management interface.
Represents a Seat on the Wayland Display.
Manager to create ServerSideDecorationInterface.
Resource representing a wl_surface.
void windowRemoved(KWin::Window *)
ServerSideDecorationManagerInterface * decorationManager() const
PlasmaWindowManagementInterface * windowManagement() const
PlasmaVirtualDesktopManagementInterface * virtualDesktopManagement() const
XdgOutputManagerV1Interface * xdgOutputManagerV1() const
SeatInterface * seat() const
TabletManagerV2Interface * tabletManagerV2() const
DataDeviceManagerInterface * dataDeviceManager() const
IdleInterface * idle() const
PlasmaWindowActivationFeedbackInterface * plasmaActivationFeedback() const
XwaylandShellV1Interface * xwaylandShell() const
Display * display() const
CompositorInterface * compositor() const
KeyboardShortcutsInhibitManagerV1Interface * keyboardShortcutsInhibitManager() const
QList< Window * > windows() const
XdgActivationV1Integration * xdgActivationIntegration() const
InputMethodV1Interface * inputMethod() const
void foreignTransientChanged(KWin::SurfaceInterface *child)
ClientConnection * screenLockerClientConnection() const
void windowAdded(KWin::Window *)
#define KWIN_SINGLETON(ClassName)
WaylandServer * waylandServer()