On Tue, 22 May 2001, Andreas Beck wrote:
> alias   fullx "(X:-inroot:-nocursor)"
> 
> This allows to use the feature to easily build stuff like:
> 
> alias demo-in-studentpool     "(multi:(X:std1:0):(X:std2:0):(X:std3:0):...)"

Do we nest? e.g.

alias   fullx   "(X:-inroot)"
alias   demo-in-studentpool     "(multi:(fullx:std1:0):(fullx:std2:0))"

Also, how do we behave if we have the above and GGI_DISPLAY=fullx:-nocursor 
-- sometimes we will want to append/accrue options, sometimes we will want 
to override.  Perhaps we could have two keywords "alias" and "alias+" for this?

> While hacking that in, you might as well want to do the same for LibGII,
> where it is even more useful, if you want to bind a whole bunch of 
> nonstandard inputs to some targets.

But of course :-)

> 4 new keywords for libggi.conf
> 
> a) alias aliasname "(Display-Definition)"
> Will "substitute" each occurrence of "aliasname" in a target description
> string with "(Display-Definition)".
> 
> b) suggestenv aliasname VARIABLE=CONTENT
> Will set VARIABLE to CONTENT, if it is unset in current environment. When
> closing the display, this should be undone. When in an "unsafe" file (see
> d), only accept VARIABLEs that start out with GGI_.
> 
> c) overrideenv aliasname VARIABLE=CONTENT
> Will set VARIABLE to CONTENT, even if already set in current environment.
> Unfortunately probably undoable. When in an "unsafe" file (see d), only 
> accept VARIABLEs that start out with GGI_.

Hmm.  I don't know how the code is written now re: parsing, but if it's
just as easy, I would think that this would look more organized:

display-x       /lib/ggi/X.so
display-x       defenv                  GGI_DISPLAY=640x480
display-fullx   alias                   "(X:-inroot)"
display-fullx   setenv                  GGI_DISPLAY=1024x768
display-fullx   defenv                  GGI_INPUT=input-linux-evdev

(and the smaller keywords help keep the formatting under control.)

This also would allow us to clean out the peices of code we
have in the targets with hard-coded default values (which perhaps
I am the only one irritated by, but...) since we could preserve 
the current behavior by installing those values in the config file.
(IMHO GGI_AUTO should always maximize the visible and set virt == visible,
not decide invisibly to the user that some targets have a default mode.)

> d) unsafeinclude filename
> Will include filename, doing a few common glob-expansions (~ in particular)
> to allow for users to add their own aliases and setups. Such files would
> discard library references and limit b) and c) as decribed there.

Yes, let's write this particular portion of the code with scrutiny :).

--
Brian



Reply via email to