kwin/src/main_x11.h
Vlad Zahorodnii 72883df2aa core: Move workspace bits from Platform to Application
Platform will become OutputBackend so some workspace bits, e.g. the
effects handler, have to move a layer above.
2022-11-10 10:10:28 +02:00

54 lines
1.4 KiB
C++

/*
KWin - the KDE window manager
This file is part of the KDE project.
SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef KWIN_MAIN_X11_H
#define KWIN_MAIN_X11_H
#include "main.h"
namespace KWin
{
class KWinSelectionOwner;
class ApplicationX11 : public Application
{
Q_OBJECT
public:
ApplicationX11(int &argc, char **argv);
~ApplicationX11() override;
void setReplace(bool replace);
std::unique_ptr<Edge> createScreenEdge(ScreenEdges *parent) override;
void createPlatformCursor(QObject *parent = nullptr) override;
std::unique_ptr<OutlineVisual> createOutline(Outline *outline) override;
void createEffectsHandler(Compositor *compositor, Scene *scene) override;
void startInteractiveWindowSelection(std::function<void(KWin::Window *)> callback, const QByteArray &cursorName = QByteArray()) override;
void startInteractivePositionSelection(std::function<void(const QPoint &)> callback) override;
PlatformCursorImage cursorImage() const override;
protected:
void performStartup() override;
private Q_SLOTS:
void lostSelection();
private:
void crashChecking();
void setupCrashHandler();
void notifyKSplash();
static void crashHandler(int signal);
std::unique_ptr<KWinSelectionOwner> owner;
bool m_replace;
};
}
#endif