7#include <QCoreApplication>
11#include <PlasmaActivities/Controller>
17DEFINE_COMMAND(bare, 0)
23DEFINE_COMMAND(noBare, 0)
29DEFINE_COMMAND(color, 0)
35DEFINE_COMMAND(noColor, 0)
43DEFINE_COMMAND(createActivity, 1)
45 auto result = awaitFuture(controller->addActivity(args(1)));
47 qDebug().noquote() << result;
52DEFINE_COMMAND(removeActivity, 1)
54 awaitFuture(controller->removeActivity(args(1)));
59DEFINE_COMMAND(startActivity, 1)
61 awaitFuture(controller->startActivity(args(1)));
66DEFINE_COMMAND(stopActivity, 1)
68 awaitFuture(controller->stopActivity(args(1)));
73DEFINE_COMMAND(listActivities, 0)
75 for (
const auto &activity : controller->activities()) {
76 printActivity(activity);
82DEFINE_COMMAND(currentActivity, 0)
84 printActivity(controller->currentActivity());
89DEFINE_COMMAND(setActivityProperty, 3)
91 const auto what = args(1);
92 const auto id = args(2);
93 const auto value = args(3);
97 what ==
QLatin1String(
"name") ? controller->setActivityName(
id, value) :
98 what ==
QLatin1String(
"description") ? controller->setActivityDescription(
id, value) :
99 what ==
QLatin1String(
"icon") ? controller->setActivityIcon(
id, value) :
107DEFINE_COMMAND(activityProperty, 2)
109 const auto what = args(1);
110 const auto id = args(2);
126DEFINE_COMMAND(setCurrentActivity, 1)
128 switchToActivity(args(1));
133DEFINE_COMMAND(nextActivity, 0)
135 controller->nextActivity();
139DEFINE_COMMAND(previousActivity, 0)
141 controller->previousActivity();
148 qDebug() <<
"\nModifiers (applied only to trailing commands):"
149 <<
"\n --bare, --no-bare - show minimal info vs show everything"
150 <<
"\n --color, --no-color - make the output pretty"
153 <<
"\n --list-activities - lists all activities"
154 <<
"\n --create-activity Name - creates a new activity with the specified name"
155 <<
"\n --remove-activity ID - removes the activity with the specified id"
156 <<
"\n --start-activity ID - starts the specified activity"
157 <<
"\n --stop-activity ID - stops the specified activity"
159 <<
"\n --current-activity - show the current activity"
160 <<
"\n --set-current-activity - sets the current activity"
161 <<
"\n --next-activity - switches to the next activity (in list-activities order)"
162 <<
"\n --previous-activity - switches to the previous activity (in list-activities order)"
164 <<
"\n --activity-property What ID"
165 <<
"\n - gets activity name, icon or description"
166 <<
"\n --set-activity-property What ID Value"
167 <<
"\n - changes activity name, icon or description";
170 qDebug() <<
"\n--bare"
174 <<
"\n--list-activities"
175 <<
"\n--create-activity NAME"
176 <<
"\n--remove-activity ID"
178 <<
"\n--current-activity"
179 <<
"\n--set-current-activity"
180 <<
"\n--next-activity"
181 <<
"\n--previous-activity";
185int main(
int argc,
char *argv[])
199 #define MATCH_COMMAND(Command) \
200 else if (args[argId] == QLatin1String("--") + toDashes(QStringLiteral(#Command))) \
202 argId += 1 + Command##_command({ args, argId })(); \
205 if (args.count() <= 1) {
209 for (
int argId = 1; argId < args.count();) {
216 MATCH_COMMAND(noBare)
218 MATCH_COMMAND(noColor)
220 MATCH_COMMAND(listActivities)
222 MATCH_COMMAND(currentActivity)
223 MATCH_COMMAND(setCurrentActivity)
224 MATCH_COMMAND(activityProperty)
225 MATCH_COMMAND(setActivityProperty)
226 MATCH_COMMAND(nextActivity)
227 MATCH_COMMAND(previousActivity)
229 MATCH_COMMAND(createActivity)
230 MATCH_COMMAND(removeActivity)
231 MATCH_COMMAND(startActivity)
232 MATCH_COMMAND(stopActivity)
236 qDebug() <<
"Skipping unknown argument" << args[argId];
@ Running
Service is running properly.
This class provides methods for controlling and managing the activities.
This class provides info about an activity.
void processEvents(QEventLoop::ProcessEventsFlags flags)