Some time ago, Ben Wing wrote...
i'm not really sure how they work. it was kirill who added them.
kirill?
I am sorry, I have been busy working on a big and late project last weeks,
so I am not even following the list.
"William M. Perry" wrote:
> Ok, I tried to find info on these, but couldn't decipher the code in
> specifier.c and there seems to be no code that actually uses this. The
> only place I could find was in scrollbar-msw.c, but that wasn't much help.
Ghost specifiers are just more complex fallbacks. When XEmacs loads
information from resources, or any other way from the window system
(like user prefeences in Windows), it (the info) is put into the ghost
fallback specifiers, instead of being put into the same user-tweakable
specifier. This way, the provided fallback is always accurate.
Ghost specifiers are modified when global variable Vunlock_ghost_specifiers
is set. It is set during early init of XEmacs and every new device, when
resources are read in, and explicitly for the duration of a call to
{add,remove}_specs_to_ghost_specifier.
> Can any specifier have ghost specifications added to it?
Absolutely, the code is generic.
How would I go
> about making the foreground and background of a face be tied to a ghost
> specifier that would look up the right thing dynamically in the window
> system?
Mmmmm..... When I did these, I thought about updating the ghost part
when window system notifies me, not about looking up the values every
time. I must admit I have been Windows-minded.
What can I think of in the first place is that you can have it
instantiate into a distinguishable value which woudl say to look up a
real color in the window system. Just a special form of color-instance
which is not allowed to slip into lisp lisp level.
William, I'd be glad to be of any help, just CC me your messages, as
I will not follow the XEmacs lists a few next days.
Big K