Как вызвать X к перетеме все открытые окна к текущему X ресурсов?

У меня есть ~/.Xdefaults, который имеет определенную цветную тему, определенную для Xorg, и это работает. У меня есть ~/.XdefaultsNew, который указывает альтернативную цветную тему. Xorg запускает и загружает ~/.Xdefaults, который корректен. После запуска некоторых приложений я работаю

xrdb ~/.XdefaultsNew

Это переопределяет все мои X ресурсов к новым определенным значениям (правильно). Если я открываю новое окно, тема замечена правильно. Однако все ранее открытые окна сохраняют исходную тему.

Существует ли способ вызвать X к "перетеме" все окна, которыми это управляет с в настоящее время загруженный X ресурсов?

2
задан 24.08.2010, 18:19

1 ответ

Это возможно для приложений, которые реализуют протокол Editres и ту поддержку запросы SetValues (см. editres(1) для описания уровня пользователя и /usr/include/X11/Xmu/EditresP.h для описания уровня программиста).

Можно смотреть протокол Editres в действии путем запуска editres программа. В меню выберите “Команды / Получают Дерево” и нажимают на editres окно, затем избранное “Дерево / Избранный Виджет в Клиенте” и нажимают где-нибудь в editres окне снова. Выберите “Команды / Выставочное Поле Ресурса”, нажимают “знания” в нормальном списке ресурсов и вводят имя цвета, где это говорит, “Вводят Значение Ресурса”, затем нажмите на "Apply" и часть часов editres цвета изменения окна.

К сожалению, в то время как большинство приложений, которые используют X ресурсов, понимает протокол Editres, немногие реализуют часть SetValues. Это - хорошая идея, что едва ли кто-то потрудился реализовывать.

2
ответ дан 11.12.2019, 22:35

Теги

Похожие вопросы