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