Warning, file /plasma/kwin/src/main_wayland.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 KWin - the KDE window manager 0003 This file is part of the KDE project. 0004 0005 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 #pragma once 0010 #include "main.h" 0011 #include <KConfigWatcher> 0012 #include <QTimer> 0013 0014 namespace KWin 0015 { 0016 namespace Xwl 0017 { 0018 class Xwayland; 0019 } 0020 0021 class ApplicationWayland : public Application 0022 { 0023 Q_OBJECT 0024 public: 0025 ApplicationWayland(int &argc, char **argv); 0026 ~ApplicationWayland() override; 0027 0028 void setStartXwayland(bool start) 0029 { 0030 m_startXWayland = start; 0031 } 0032 void addXwaylandSocketFileDescriptor(int fd) 0033 { 0034 m_xwaylandListenFds << fd; 0035 } 0036 void setXwaylandDisplay(const QString &display) 0037 { 0038 m_xwaylandDisplay = display; 0039 } 0040 void setXwaylandXauthority(const QString &xauthority) 0041 { 0042 m_xwaylandXauthority = xauthority; 0043 } 0044 void setApplicationsToStart(const QStringList &applications) 0045 { 0046 m_applicationsToStart = applications; 0047 } 0048 void setInputMethodServerToStart(const QString &inputMethodServer) 0049 { 0050 m_inputMethodServerToStart = inputMethodServer; 0051 } 0052 void setSessionArgument(const QString &session) 0053 { 0054 m_sessionArgument = session; 0055 } 0056 0057 XwaylandInterface *xwayland() const override; 0058 0059 protected: 0060 void performStartup() override; 0061 0062 private: 0063 void continueStartupWithScene(); 0064 void finalizeStartup(); 0065 void startSession(); 0066 void refreshSettings(const KConfigGroup &group, const QByteArrayList &names); 0067 0068 bool m_startXWayland = false; 0069 QStringList m_applicationsToStart; 0070 QString m_inputMethodServerToStart; 0071 QString m_sessionArgument; 0072 0073 std::unique_ptr<Xwl::Xwayland> m_xwayland; 0074 QVector<int> m_xwaylandListenFds; 0075 QString m_xwaylandDisplay; 0076 QString m_xwaylandXauthority; 0077 KConfigWatcher::Ptr m_settingsWatcher; 0078 }; 0079 0080 }