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
34 static QString currentActivityOrEmpty(const ActivityManager* manager);
35 QStringList activities() const;
36 QString activityName(const QString& activityId) const;
37 QString activityIcon(const QString& activityId) const;
38
39Q_SIGNALS:
40 void currentActivityChanged(const QString& activityId);
42
43private Q_SLOTS:
44 void onCurrentActivityChanged(const QString& activityId);
45 void onActivityAdded(const QString& activityId);
46 void onActivityRemoved(const QString& activityId);
47
48private:
49 void connectSignals();
50 void disconnectSignals();
51
52 QObject* m_controller = nullptr;
53 bool m_running = false;
54 QString m_currentActivity;
55 bool m_activitiesAvailable = false;
56};
57
58} // namespace PhosphorWorkspaces
Definition ActivityManager.h:14
void currentActivityChanged(const QString &activityId)
static QString currentActivityOrEmpty(const ActivityManager *manager)
Returns manager's current activity, or an empty string when manager is null OR the activities backend...
QString activityIcon(const QString &activityId) const
QString activityName(const QString &activityId) const
ActivityManager(QObject *parent=nullptr)
Definition WindowTrackingService.h:46