Как протестировать сценарии kwin в консоли сценариев KDE Plasma?Linux

Ответить
Anonymous
 Как протестировать сценарии kwin в консоли сценариев KDE Plasma?

Сообщение Anonymous »

В учебном пособии по написанию сценариев KWin на https://develop.kde.org/docs/plasma/kwin/
сказано: «Самый простой способ протестировать сценарии KWin — использовать консоль сценариев Plasma Desktop».
Так что я пытаюсь это сделать, но не могу найти подходящий рабочий процесс для редактирования/перезагрузки и остановки сценария.
Что я пробовал
Я сначала установил Полная отладка сценариев KWin, как сказано в руководстве:

Код: Выделить всё

kdebugsettings
Сценарии KWin -> изменение с «Предупреждение» на «Полная отладка»
И затем я установил следующее в окне терминала, чтобы увидеть вывод сценариев:

Код: Выделить всё

journalctl --user -u plasma-kwin_wayland.service -f
Затем я запускаю интерактивную консоль сценариев из другого окна терминала:

Код: Выделить всё

plasma-interactiveconsole --kwin
и вставьте в него следующий скрипт (обратите внимание, что это kwin 6; скрипты из руководства не работают
поскольку это kwin 5):

Код: Выделить всё

print("IN MY KWIN SCRIPT");
print("  workspace.windowList() is: ", workspace.windowList());
workspace.windowAdded.connect(window => {
print("    GOT CONNECT: window=",window);
});
print("OUT MY KWIN SCRIPT");
Затем я нажимаю «Выполнить».
Он печатает в журнал следующий результат, как и ожидалось:

Код: Выделить всё

Dec 09 19:35:08 donhatch-laptop kwin_wayland_wrapper[3492]: js: IN MY KWIN SCRIPT
Dec 09 19:35:08 donhatch-laptop kwin_wayland_wrapper[3492]: js:   workspace.windowList() is:  [KWin::X11Window(0x62784bd76880),KWin::LayerShellV1Window(0x62784c05f110),KWin::LayerShellV1Window(0x62784c165df0),KWin::LayerShellV1Window(0x62784c17ee50),KWin::XdgToplevelWindow(0x62784c199950),KWin::XdgToplevelWindow(0x62784bc16b30),KWin::XdgToplevelWindow(0x62784b973930),KWin::XdgToplevelWindow(0x62784bc2d130),KWin::XdgToplevelWindow(0x62784c060420),KWin::XdgToplevelWindow(0x62784c26a350),KWin::XdgToplevelWindow(0x62784c3bf230),KWin::XdgToplevelWindow(0x62784c424e00),KWin::XdgToplevelWindow(0x62784c42c920),KWin::XdgToplevelWindow(0x62784e553380),KWin::XdgToplevelWindow(0x62784d3c0db0),KWin::XdgToplevelWindow(0x62784d4e0270),KWin::XdgToplevelWindow(0x62784d417790),KWin::XdgToplevelWindow(0x62784d3ffce0),KWin::XdgToplevelWindow(0x62784c60b6b0)]
Dec 09 19:35:08 donhatch-laptop kwin_wayland_wrapper[3492]: js: OUT MY KWIN SCRIPT
И с этого момента при каждом создании нового окна в выводе журнала, как и ожидалось, появляется строка, подобная следующей:

Код: Выделить всё

Dec 09 19:35:12 donhatch-laptop kwin_wayland_wrapper[3492]: js:     GOT CONNECT: window= KWin::XdgToplevelWindow(0x62784d9b3640)
Как мне отредактировать/перезагрузить?
Далее, конечно, мне нужно отредактировать скрипт и перезапустить его тысячи раз. Как?
Если я снова нажму «Выполнить», у меня будут запущены две копии сценария (два сообщения «GOT CONNECT» в каждом новом окне) и т. д., что явно не работает для разработки. Перезапуск моего сеанса kde после каждого редактирования также не помогает.
Выход и перезапуск консоли сценариев не помогает (несколько копий сценария продолжают работать).
Различные подсказки, найденные в Интернете (например, этот ответ), показывают, как убить сценарий kwin через qdbus,
если вы знаете имя сценария... но я не знаю имени сценария (если у него вообще есть имя) при выполнении из консоль сценариев.
Как перезагрузить сценарий после его редактирования, а затем остановить его, когда я закончу?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-console
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»