Subject: Re: A pair of questions regarding FVWM setup

From: "Dmitry Yu. Bolkhovityanov" <[email-masked]>
Date: Sat, 4 Aug 2001 20:44:09 +0700

On  4 Aug 01 at 11:35, [email-masked] wrote:

> On 04 Aug 2001 16:15:37 +0700, Dmitry Yu. Bolkhovityanov wrote:
> >
> >     First, is it possible to do a Windows-3.1-like windows and menus?  The
> > problem with borders is that in case of "BorderStyle -- flat" handles are
> > invisible even without "HiddenHandles".  The accompanying problem with menus
> > is that there's only "BorderWidth" flag, without an ability to switch
> > 3D-ness off (with Nops too).  Both seems to be caused by lack of
> > "BorderColor" concept.  Am I missing something?
>
> Windows have "BorderColor" concept. Style * [Hilight]BorderColorset.
>
> Menus have "BorderColor" concept (kind of) using MenuStyle MenuColorset
> and ActiveColorset; you may specify sh and hi colors in these colorsets.
>
> I don't remember how should look windows-3.1 windows and menus, so I can't
> say whether something is missing to fully or partially emulate the look.
> It is hard to believe someone is interesting in microsoft solutions. :)

    Thanks, I'll try it.

    In fact, it isn't mocrosoft solutions, but just a "simple",
"lightweight", etc. interface -- the same basic concepts (i.e. no 3D, but
black borders around objects) were used in many Dos apps, and are still used
on handhelds like Palm and cellular phones.  I used Win31 just as a most
well-known example. ;-)

> >     Second, is it possible to create an "if-then-else" construct in a
> > function?  I tried to emulate the behaviour of Win9x's TaskBar, which can be
> > described as:
> >
> >     if (Iconic  ||  !Raised)
> >     {
> >         Iconify Off
> >         Raise
> >         Focus
> >     }
> >     else
> >     {
> >         Iconify On
> >     }
> >
> > (i.e. deiconify if iconified, otherwise raise of not raised, otherwise
> > iconify).
>
> We discussed adding shell abilities to fvwmrc two years ago and the
> decission was not to do this, since preprocessors and PipeRead can do it.
>
> But if-else construct does not seem too hard to implement. If we do this
> we may have if, else, endif commands, so braces are not needed.
>
>     if (Iconic || !Raised)
>         Iconify Off
>     else
>         if (!Iconic)
>             Iconify On
>         endif
>     endif
>
> This only seems complex, in fact it is simple. There is a list of boolean
> conditions (one for each level of "if") and the current command is
> executed or skipped depending on the last boolean. (if, else, endif)
> commands only manipulate this list of booleans (push, not, pop).

    Well, it isn't complex at all -- elsif is just a shortcut for "else if"
in most modern languages.

    As to using SetEnv+PipeRead -- yes, it's a neat hack ;-)

       ___________________________________________________________________
       Dmitry Yu. Bolkhovityanov  |  Novosibirsk, RUSSIA
       phone (383-2)-39-49-56     |  The Budker Institute of Nuclear Physics
                                  |  Lab. 5-13
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]