сказано: «Самый простой способ протестировать сценарии KWin — использовать консоль сценариев Plasma Desktop».
Так что я пытаюсь это сделать, но не могу найти подходящий рабочий процесс для редактирования/перезагрузки и остановки сценария.
Что я пробовал
Я сначала установил Полная отладка сценариев KWin, как сказано в руководстве:
Код: Выделить всё
kdebugsettings
И затем я установил следующее в окне терминала, чтобы увидеть вывод сценариев:
Код: Выделить всё
journalctl --user -u plasma-kwin_wayland.service -f
Код: Выделить всё
plasma-interactiveconsole --kwin
поскольку это 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
Мобильная версия