Деструктор расширения Gnome-shell (запускается при выходе из Gnome Shell)?

Есть ли какой-нибудь трюк для запуска моего кода «деструктора» в расширении, когда Gnome Shell закрывается (например, выключается компьютер)? Мне нужно сохранить некоторые переменные состояния, чтобы снова загрузить их в init() при запуске.

Мне нужно что-то вроде функции enable() или disable(). Может быть, есть какой-то сигнал, к которому я мог бы подключить свой код?


person Bobas    schedule 25.03.2013    source источник
comment
Почему бы не использовать disable() в файле extension.js?   -  person Lukas Knuth    schedule 11.05.2013
comment
Я думал, что disable() запускался только при отключении расширения пользователем из extensions.gnome.org/ местный. Теперь не уверен, попробую, спасибо.   -  person Bobas    schedule 15.05.2013
comment
Он будет запускаться каждый раз, когда ваше расширение будет отключено, что происходит, когда оболочка закрывается.   -  person Lukas Knuth    schedule 15.05.2013
comment
Оно работает! Большое спасибо! Кстати, отсутствие документации gjs делает это немного болезненным, и я чувствую себя глупо, задавая такие простые вопросы: -/   -  person Bobas    schedule 16.05.2013
comment
Ответил на завершение.   -  person Lukas Knuth    schedule 16.05.2013


Ответы (1)


disable()-функция внутри extension.js-файла вызывается, когда:

  • Пользователь отключает расширение в работающей оболочке
  • Оболочка закрывается или перезагружается

Имейте в виду, что он предназначен для манипулирования пользовательским интерфейсом, поэтому вы должны закончить его быстро (без тяжелой работы).

person Lukas Knuth    schedule 16.05.2013
comment
Мой опыт по этой теме. disable() не вызывается при завершении работы системы. Только что протестировал его на ubuntu18 с GNOME Shell 3.34.1. Выход из системы и блокировка экрана инициирует его. - person wormhit; 26.03.2020