Subject: FVWM: TitleDown patch as module?

From: Jarl Totland <[email-masked]>
Date: Tue, 26 Mar 1996 02:07:34 +0000 (WET)

First of all, thanks for all the positive feedback on the titledown patch.
I do understand why Chuck doesn't want it in fvwm though, and it probably
doesn't belong there anyway. (Even though it really is a small patch and 
has more right-to-live than, say, MwmBorders. Just IMHO ofcourse :-) )

On a sidenote, from now on, in an attempt to reduce bloating of fvwm, I 
will supplement all my patches with a patch that rewrites/optimizes fvwm
so that the total size goes down. I challenge everyone else who makes 
patches to do this too.

Chuck:
> If you want to save the vertical space, you could just as easily use a
> really small title font or shut off the titlebar completely. If you
I must say I have to agree. Actually I now prefer running fvwm without
any decorations at all, with just lots of slick mouse+modifier bindings.
Even on 1152x800. But it doesn't _look_ very fancy though, and, well, the
fancy things are the funniest to code :-)

--

I have been investigating the possibility of making the titledown patch a
module (FvwmDecor?), where we could also put all the fancy extensions that
have been suggested for titlebars/buttons. But there are a number of 
problems
 1) It would have to be able to get a lot of info from fvwm, mainly
    WindowFont, Titlestyle, Buttonstyles, bindings to buttons and titlebar
    and border...
 2) Some way of trigging a complex function from the module must be invented.
 3) There will be _a lot_ of code duplication from fvwm. Can be somewhat 
    remedied by moving more code into fvwmlib.

The most important issue is how the fvwm protocol must be extended to make
1 possible. 
Currently most modules use the GetConfigLine() fvwmlib function to get their
config, this sends all the config lines fvwm has stored that starts with a
"*", and also the following three settings: IconPath, PixmapPath, ClickTime.
(fvwm assumes these are the only three settings modules should need to know)
What if this function could be called with a prefix, and any line starting
with that prefix would be returned? Thus you could have
  GetConfigLine("*FvwmModule",...) to get all the config lines for that module
(and not have to go through all the other modules' definitions), and then
  GetConfigLine("PixmapPath",...) and GetConfigLine("ButtonStyle",...) and
any setting you would like your module to know.
GetConfigLine() uses the M_CONFIG_INFO request, so the relevant protocol
change would be to add a parameter to this and only return matching lines.
Of course, to be able to return any config line, fvwm would have to cache
the entire config, not only those related to modules.

Number 2 should be easy to implement, when a module sends a request for a
function, some more effort should be put into creating the fake buttonpress
event that is sent to the complexfunction. I tried to do this the same way
the Popup modification was done, but a little more insight is obviously needed.

Any ideas? Chuck, is this implementable?

--

And I still think PixmapPath should be removed completely, leaving only
IconPath.

--

Vyrdsamt,
-Jarl

--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].