Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've got a ~/.Xdefaults that has a specific color theme defined for Xorg, and this works. I've got a ~/.XdefaultsNew that specifies an alternate color theme. Xorg starts and loads ~/.Xdefaults which is correct. After running some applications, I run

xrdb ~/.XdefaultsNew

This overrides all my X resources to the new defined values (correctly). If I open a new window, the theme is seen correctly. However, all the previously opened windows retain the original theme.

Is there a way to force X to "re-theme" all windows it is managing with the currently loaded X resources?

share|improve this question

migrated from serverfault.com Aug 25 '10 at 13:19

This question came from our site for professional system and network administrators.

1 Answer 1

It's possible for applications that implement the Editres protocol, and that support SetValues requests (see editres(1) for a user-level description and /usr/include/X11/Xmu/EditresP.h for a programmer-level description).

You can watch the Editres protocol in action by launching the editres program. In the menu, select “Commands / Get Tree” and click on the editres window, then select “Tree / Select Widget in Client” and click somewhere in the editres window again. Select “Commands / Show Resource Box”, click on “background” in the normal resources list, and enter a color name where it says “Enter Resource Value”, then click on “Apply” and watch part of the editres window change color.

Unfortunately, while most applications that use X resources understand the Editres protocol, few implement the SetValues part. It's a good idea that hardly anyone bothered to implement.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.