Я пытаюсь написать сценарий оболочки, который будет создавать действие, устанавливать его обои, открывать в приложении некоторые приложения (Emacs, Konsole и т. Д.), А затем переключаться на вновь созданное действие.
Я просмотрел https://unix.stackexchange.com/questions/3543/expand-kde-activities-concept-to-the-shell, чтобы начать анализировать возможности qdbus. Я обнаружил, что могу (по крайней мере на Plasma 5.16) успешно выполнить следующие операции:
Создать действие:
$ qdbus org.kde.ActivityManager \
/ActivityManager/Activities \
AddActivity \
"MSW-4990"
Это печатает GUID вновь-созданная деятельность, например: deb2dd27-2cf2-45f2-8262-59ddc766e814
Установить описание новой деятельности:
$ qdbus org.kde.ActivityManager \
/ActivityManager/Activities \
SetActivityDescription \
deb2dd27-2cf2-45f2-8262-59ddc766e814 \
"Introduce transformation matrix for EM scope measurement correction"
Нет выходных данных.
Переключиться на новое действие:
$ qdbus org.kde.ActivityManager \
/ActivityManager/Activities \
SetCurrentActivity \
deb2dd27-2cf2-45f2-8262-59ddc766e814
Печатается true
, если текущее действие было изменено.
Запустить новый экземпляр консоли:
$ qdbus org.kde.klauncher5 \
/KLauncher \
exec_blind \
"konsole" ""
Запустится konsole, но он не печатает никаких идентификаторов для нового экземпляра konsole, поэтому я не знаю, как с ним работать.
Тем не менее, все еще есть некоторые понятия, которые мне не хватает, а именно:
Как мне установить "привязку" Activity для приложения, такого как Konsole, из оболочки?
Графически я нажимаю на верхний левый значок «Меню», выбираю «Действия», а затем выбираю конкретное действие в раскрывающемся списке. т текущей активной деятельности. Есть некоторые упоминания о связи ресурсов с действиями через /ActivityManager/Resources/Linking
, но я не мог заставить это сделать что-нибудь. Я возился с / KWin, / kuiserver, / kappmenu ... их было много и я так и не нашел команду, которая бы соответствовала моим потребностям.
Как изменить обои для текущей деятельности?