Когда происходят изменения в gsettings?


9

После внесения изменений в gsettings, нужно ли что-то сделать, чтобы изменения вступили в силу?

Например, если у меня есть эскизы, ~/.thumbnailsдатирующиеся несколько дней назад, будет запущено:

gsettings set org.gnome.desktop.thumbnail-cache maximum-age 1

сделать так, чтобы миниатюры старше одного дня были немедленно удалены?

Другим случаем было бы отключение уведомления случайно и затем желание восстановить значение по умолчанию, как в:

gsettings reset org.gnome.nm-applet disable-vpn-notifications

В зависимости от характера измененного ключа потребуется ли выход из системы и вход в систему или перезагрузка? Есть ли способ узнать кроме проб и ошибок?

Моя ОС - Lubuntu 13.10.


Я думал, что руководящим принципом Gnome было то, что настройки вступают в силу немедленно ... возможно, я ошибаюсь, я не использую Gnome.
Робин Грин

Ответы:


1

GSettings API , действительно обеспечивают bind, syncи сигналы. Но разработчики приложений должны использовать их (получить / синхронизировать) или когда их использовать, или прослушивать события изменения (периодически синхронизировать, получить один раз при загрузке приложения, а затем синхронизировать при завершении приложения ...). Ссылка: GIO Справочное руководство

Любое обновление для значения, оно будет немедленно сохранено в dconf user:db. Демон GSettings будет отправлять сигналы изменений (сигналы glib). Сторона приложения в зависимости от его реализации.

Например:

  • Большинство сервисов перезагружают настройки при перезапуске.
  • Раскладка клавиатуры была реализована для немедленного отражения изменений. Это должно быть в любом случае.

Хороший вопрос здесь с простым тестом связывания. Что такое XML-файл схемы в папке data / glib-2.0 моего приложения Quickly?

Примечание: говорили о GSettings для работы с dbus, возможно, он уже реализован. Ссылка: https://jasondclinton.livejournal.com/76020.html


1

Новые настройки записываются сразу. Когда они вступят в силу, зависит от настроек и от того, какое приложение их использует. Если настройка предназначена для системной службы, она обычно вступает в силу после перезагрузки службы. Если параметр предназначен для приложения, он обычно вступает в силу, когда приложение закрывается и повторно открывается. В случае с папкой кэша в соответствии с вашим примером кэшированные файлы будут оставаться там до тех пор, пока кэш не будет очищен, что может происходить периодически, или приложение может проверять кэшированные файлы при открытии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.