#javascript #kde
Вопрос:
С помощью KWin scripting API я знаю, что могу подключить сигнал с
client.signal.connect(myFunction);
для запуска некоторого действия, когда скрипт получает сигнал.
Но как я могу передать сигнал из моего KWin-скрипта для других компонентов?
Я хочу что-то вроде
client.emit(signal);
но ничего не смог найти в документации API и безуспешно пробовал различные возможные синтаксисы.
Мой вариант использования заключается в том, что я хочу испускать clientStartUserMovedResized
сигнал перед выполнением изменения геометрии, чтобы другой скрипт мог обнаружить, что окно собирается быть изменено с помощью окна со старой геометрией, переданной, прежде чем clientGeometryChanged
сигнал будет автоматически отправлен после того, как изменение геометрии уже произошло, и старая геометрия удалена.потеряно.
Ответ №1:
Как ответили на reddit https://old.reddit.com/r/kde/comments/qndb0k/how_to_emit_signal_in_kwin_scripting_api /
Почти уверен, что вы просто вызываете это как обычную функцию.
- https://doc.qt.io/qt-5/qtqml-syntax-objectattributes.html#signal-handler-attributes
- https://develop.kde.org/docs/plasma/kwin/api/#signals-3
client.clientStartUserMovedResized(client)
(не уверен, зачем ему нужны ссылки на себя в качестве параметра)- https://invent.kde.org/plasma/kwin/-/blob/master/src/abstract_client.cpp#L970