У меня есть ~/.Xdefaults, который имеет определенную цветную тему, определенную для Xorg, и это работает. У меня есть ~/.XdefaultsNew, который указывает альтернативную цветную тему. Xorg запускает и загружает ~/.Xdefaults, который корректен. После запуска некоторых приложений я работаю
xrdb ~/.XdefaultsNew
Это переопределяет все мои X ресурсов к новым определенным значениям (правильно). Если я открываю новое окно, тема замечена правильно. Однако все ранее открытые окна сохраняют исходную тему.
Существует ли способ вызвать X к "перетеме" все окна, которыми это управляет с в настоящее время загруженный X ресурсов?
Это возможно для приложений, которые реализуют протокол Editres и ту поддержку запросы SetValues (см. editres(1)
для описания уровня пользователя и /usr/include/X11/Xmu/EditresP.h
для описания уровня программиста).
Можно смотреть протокол Editres в действии путем запуска editres
программа. В меню выберите “Команды / Получают Дерево” и нажимают на editres окно, затем избранное “Дерево / Избранный Виджет в Клиенте” и нажимают где-нибудь в editres окне снова. Выберите “Команды / Выставочное Поле Ресурса”, нажимают “знания” в нормальном списке ресурсов и вводят имя цвета, где это говорит, “Вводят Значение Ресурса”, затем нажмите на "Apply" и часть часов editres цвета изменения окна.
К сожалению, в то время как большинство приложений, которые используют X ресурсов, понимает протокол Editres, немногие реализуют часть SetValues. Это - хорошая идея, что едва ли кто-то потрудился реализовывать.