Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ActivityManager.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <phosphorworkspaces_export.h>
7#include <QObject>
8#include <QString>
9#include <QStringList>
10
11namespace PhosphorWorkspaces {
12
13class PHOSPHORWORKSPACES_EXPORT ActivityManager : public QObject
14{
15 Q_OBJECT
16
17public:
18 explicit ActivityManager(QObject* parent = nullptr);
19 ~ActivityManager() override;
20
21 bool init();
22 void start();
23 void stop();
24
25 QString currentActivity() const;
26 static bool isAvailable();
27 QStringList activities() const;
28 QString activityName(const QString& activityId) const;
29 QString activityIcon(const QString& activityId) const;
30
31Q_SIGNALS:
32 void currentActivityChanged(const QString& activityId);
34
35private Q_SLOTS:
36 void onCurrentActivityChanged(const QString& activityId);
37 void onActivityAdded(const QString& activityId);
38 void onActivityRemoved(const QString& activityId);
39
40private:
41 void connectSignals();
42 void disconnectSignals();
43
44 QObject* m_controller = nullptr;
45 bool m_running = false;
46 QString m_currentActivity;
47 bool m_activitiesAvailable = false;
48};
49
50} // namespace PhosphorWorkspaces
Definition ActivityManager.h:14
void currentActivityChanged(const QString &activityId)
QString activityIcon(const QString &activityId) const
QString activityName(const QString &activityId) const
ActivityManager(QObject *parent=nullptr)
Definition WindowTrackingService.h:45