KWin
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2022 Nicolas Fella <nicolas.fella@gmx.de>
3
4 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
5*/
6
7#include <main.h>
8#include <plugin.h>
9
10#include "stickykeys.h"
11
12class KWIN_EXPORT StickyKeysFactory : public KWin::PluginFactory
13{
14 Q_OBJECT
15 Q_PLUGIN_METADATA(IID PluginFactory_iid FILE "metadata.json")
16 Q_INTERFACES(KWin::PluginFactory)
17
18public:
19 std::unique_ptr<KWin::Plugin> create() const override
20 {
21 switch (KWin::kwinApp()->operationMode()) {
23 [[fallthrough]];
25 return std::make_unique<StickyKeysFilter>();
27 [[fallthrough]];
28 default:
29 return nullptr;
30 }
31 }
32};
33
34#include "main.moc"
@ OperationModeXwayland
KWin uses Wayland and controls a nested Xwayland server.
Definition main.h:95
@ OperationModeX11
KWin uses only X11 for managing windows and compositing.
Definition main.h:87
@ OperationModeWaylandOnly
KWin uses only Wayland.
Definition main.h:91
std::unique_ptr< KWin::Plugin > create() const override
Definition main.cpp:19
#define PluginFactory_iid
Definition plugin.h:18