71 Q_PROPERTY(quint32 x11Time READ x11Time WRITE setX11Time)
72 Q_PROPERTY(quint32 x11RootWindow READ x11RootWindow CONSTANT)
73 Q_PROPERTY(
void *x11Connection READ x11Connection NOTIFY x11ConnectionChanged)
74 Q_PROPERTY(KSharedConfigPtr config READ config WRITE setConfig)
75 Q_PROPERTY(KSharedConfigPtr kxkbConfig READ kxkbConfig WRITE setKxkbConfig)
100 void setConfigLock(
bool lock);
108 m_config = std::move(config);
117 m_kxkbConfig = std::move(config);
122 return m_inputConfig;
126 m_inputConfig = std::move(config);
135 OperationMode operationMode()
const;
136 void setOperationMode(OperationMode mode);
137 bool shouldUseWaylandForCompositing()
const;
139 void setupCommandLine(QCommandLineParser *parser);
140 void processCommandLine(QCommandLineParser *parser);
144 bool dispatchEvent(xcb_generic_event_t *event);
156 if ((timestamp > m_x11Time || force == TimestampUpdate::Always) && timestamp != 0) {
157 m_x11Time = timestamp;
164 void updateX11Time(xcb_generic_event_t *event);
166 static void setCrashCount(
int count);
167 static bool wasCrash();
168 void resetCrashesCount();
174 static void createAboutData();
189 return m_compositeWindow;
218 m_compositeWindow = window;
223 return m_xwaylandScale;
226 void setXwaylandScale(qreal scale);
228#if KWIN_BUILD_ACTIVITIES
229 bool usesKActivities()
const
231 return m_useKActivities;
233 void setUseKActivities(
bool use)
235 m_useKActivities = use;
239 QProcessEnvironment processStartupEnvironment()
const;
240 void setProcessStartupEnvironment(
const QProcessEnvironment &environment);
244 return m_outputBackend.get();
246 void setOutputBackend(std::unique_ptr<OutputBackend> &&backend);
250 return m_session.get();
252 void setSession(std::unique_ptr<Session> &&session);
255 m_followLocale1 = follow;
259 return m_followLocale1;
264 return m_terminating;
267 void installNativeX11EventFilter();
268 void removeNativeX11EventFilter();
273 virtual std::unique_ptr<Edge> createScreenEdge(
ScreenEdges *parent);
274 virtual std::unique_ptr<Cursor> createPlatformCursor();
275 virtual std::unique_ptr<OutlineVisual> createOutline(
Outline *outline);
278 static void setupMalloc();
279 static void setupLocalizedString();
285#if KWIN_BUILD_SCREENLOCKER
306 virtual void startInteractiveWindowSelection(std::function<
void(
KWin::Window *)> callback,
const QByteArray &cursorName = QByteArray());
322 virtual void startInteractivePositionSelection(std::function<
void(
const QPointF &)> callback);
348 void notifyStarted();
350 void createWorkspace();
351 void createOptions();
352 void createPlugins();
353 void createColorManager();
354 void createInputMethod();
355 void createTabletModeManager();
357 void destroyWorkspace();
358 void destroyCompositor();
359 void destroyPlugins();
360 void destroyColorManager();
361 void destroyInputMethod();
362 void destroyPlatform();
363 void applyXwaylandScale();
367 m_terminating =
true;
374 QList<QPointer<X11EventFilterContainer>> m_eventFilters;
375 QList<QPointer<X11EventFilterContainer>> m_genericEventFilters;
376 std::unique_ptr<XcbEventFilter> m_eventFilter;
377 bool m_followLocale1 =
false;
379 KSharedConfigPtr m_config;
380 KSharedConfigPtr m_kxkbConfig;
381 KSharedConfigPtr m_inputConfig;
383 xcb_timestamp_t m_x11Time = XCB_TIME_CURRENT_TIME;
384 xcb_window_t m_rootWindow = XCB_WINDOW_NONE;
385 xcb_window_t m_compositeWindow = XCB_WINDOW_NONE;
386 xcb_connection_t *m_connection =
nullptr;
387#if KWIN_BUILD_ACTIVITIES
388 bool m_useKActivities =
true;
390 std::unique_ptr<Session> m_session;
391 std::unique_ptr<OutputBackend> m_outputBackend;
392 bool m_terminating =
false;
393 qreal m_xwaylandScale = 1;
394 QProcessEnvironment m_processEnvironment;
395 std::unique_ptr<PluginManager> m_pluginManager;
396 std::unique_ptr<InputMethod> m_inputMethod;
397 std::unique_ptr<ColorManager> m_colorManager;
398 std::unique_ptr<TabletModeManager> m_tabletModeManager;
399#if KWIN_BUILD_SCREENLOCKER
400 std::unique_ptr<ScreenLockerWatcher> m_screenLockerWatcher;
402 std::unique_ptr<Cursor> m_platformCursor;