KWin
Loading...
Searching...
No Matches
main_wayland.h
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9#pragma once
10#include "main.h"
11#include <KConfigWatcher>
12#include <QTimer>
13
14namespace KWin
15{
16namespace Xwl
17{
18class Xwayland;
19}
20
22{
23 Q_OBJECT
24public:
25 ApplicationWayland(int &argc, char **argv);
26 ~ApplicationWayland() override;
27
29 {
30 m_startXWayland = start;
31 }
33 {
34 m_xwaylandListenFds << fd;
35 }
36 void setXwaylandDisplay(const QString &display)
37 {
38 m_xwaylandDisplay = display;
39 }
40 void setXwaylandXauthority(const QString &xauthority)
41 {
42 m_xwaylandXauthority = xauthority;
43 }
44 void setApplicationsToStart(const QStringList &applications)
45 {
46 m_applicationsToStart = applications;
47 }
48 void setInputMethodServerToStart(const QString &inputMethodServer)
49 {
50 m_inputMethodServerToStart = inputMethodServer;
51 }
52 void setSessionArgument(const QString &session)
53 {
54 m_sessionArgument = session;
55 }
56
57 XwaylandInterface *xwayland() const override;
58
59protected:
60 void performStartup() override;
61
62private:
63 void continueStartupWithScene();
64 void startSession();
65 void refreshSettings(const KConfigGroup &group, const QByteArrayList &names);
66
67 bool m_startXWayland = false;
68 QStringList m_applicationsToStart;
69 QString m_inputMethodServerToStart;
70 QString m_sessionArgument;
71
72 std::unique_ptr<Xwl::Xwayland> m_xwayland;
73 QList<int> m_xwaylandListenFds;
74 QString m_xwaylandDisplay;
75 QString m_xwaylandXauthority;
76 KConfigWatcher::Ptr m_settingsWatcher;
77};
78
79}
Session * session() const
Definition main.h:248
void setInputMethodServerToStart(const QString &inputMethodServer)
void setStartXwayland(bool start)
void setApplicationsToStart(const QStringList &applications)
void addXwaylandSocketFileDescriptor(int fd)
void setSessionArgument(const QString &session)
ApplicationWayland(int &argc, char **argv)
void performStartup() override
void setXwaylandXauthority(const QString &xauthority)
void setXwaylandDisplay(const QString &display)
XwaylandInterface * xwayland() const override