Tk::Xrm - X Resource/Defaults/Options routines that obey the rules.
use Tk; use Tk::Xrm;
Using this modules causes Tk's Option code to be replaced by versions which use routines from <X11/Xresource.h> - i.e. same ones every other X toolkit uses.
Result is that "matching" of name/Class with the options database follows the same rules as other X toolkits. This makes it more predictable, and makes it easier to have a single ~/.Xdefaults file which gives sensible results for both Tk and (say) Motif applications.
Currently optionAdd(key => value?, priority?) ignores optional priority completely and just does XrmPutStringResource(). Perhaps it should be more subtle and do XrmMergeDatabases() or XrmCombineDatabase().
This version is a little slower than Tk's re-invention but there is more optimization that can be done.
database, option, priority, retrieve