XSETTINGS
Подробнее
- Создатель
- Owen Taylor
- Год
- 2001
- Тип
- Протокол
- Спецификация
- freedesktop.org: XSETTINGS 0.5
Протокол freedesktop, позволяющий X-программам менять тему, шрифты и DPI на лету через единственное свойство, которое все читают на одном окне.
Xresources задавались при входе и читались при запуске программы; сменил шрифт — перезапускай. Оуэн Тейлор из Red Hat, написавший значительную часть GTK 2, в 2001 году описал альтернативу. Менеджер настроек становится владельцем X-селекции _XSETTINGS_S0 и кладёт все общие настройки в свойство _XSETTINGS_SETTINGS на своём окне. Клиенты читают свойство при запуске и подписываются на PropertyNotify, так что новый цвет темы или значение DPI вступает в силу сразу во всех открытых окнах.
Ключи короткие и иерархические — Net/ThemeName, Gtk/FontName, Xft/DPI — а значения бывают целыми, строками или цветами. Менеджером служит gnome-settings-daemon в GNOME, xfsettingsd в Xfce, а при минималистичных оконных менеджерах сгодится xsettingsd Даниэля Эрата, читающий текстовый файл и ничего больше. Qt слушает через платформенную тему GTK, так что протокол стал тонким мостом между двумя крупными тулкитами. В Wayland владеть селекцией нечем; эквивалент идёт через D-Bus и портал настроек.