KWin
Loading...
Searching...
No Matches
appmenu.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2017 David Edmundson <kde@davidedmundson.co.uk>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6#pragma once
7
8#include "kwin_export.h"
9
10#include <QObject>
11#include <memory>
12
13struct wl_resource;
14
15namespace KWin
16{
17class Display;
18class SurfaceInterface;
19class AppMenuInterface;
20
21class AppMenuManagerInterfacePrivate;
22class AppMenuInterfacePrivate;
23
30class KWIN_EXPORT AppMenuManagerInterface : public QObject
31{
32 Q_OBJECT
33
34public:
35 explicit AppMenuManagerInterface(Display *display, QObject *parent = nullptr);
36 ~AppMenuManagerInterface() override;
41 AppMenuInterface *appMenuForSurface(SurfaceInterface *);
42
43Q_SIGNALS:
48
49private:
50 std::unique_ptr<AppMenuManagerInterfacePrivate> d;
51};
52
58class KWIN_EXPORT AppMenuInterface : public QObject
59{
60 Q_OBJECT
61public:
66 {
68 QString serviceName;
70 QString objectPath;
71 };
72 ~AppMenuInterface() override;
73
77 InterfaceAddress address() const;
78
82 SurfaceInterface *surface() const;
83
84Q_SIGNALS:
89
90private:
91 explicit AppMenuInterface(SurfaceInterface *s, wl_resource *resource);
93
94 std::unique_ptr<AppMenuInterfacePrivate> d;
95};
96
97}
void addressChanged(KWin::AppMenuInterface::InterfaceAddress)
void appMenuCreated(KWin::AppMenuInterface *)
Class holding the Wayland server display loop.
Definition display.h:34
Resource representing a wl_surface.
Definition surface.h:80
struct _XDisplay Display