Subject: FVWM: Re: MaximizeWidthMult

From: Neil Zanella <[email-masked]>
Date: Sun, 9 Jul 2000 19:16:01 -0230 (NDT)

Hello,

I am running fvwm2 version 2.3.20. The function described herein does not
work as described on my system. All it does is resize once. I initially
tried this with bash. Then I changed my default shell to zsh and logged
out and back in but it still did not work. The effect was that the window
is maximized to the full screen width each time but no matter how many
times I invoke the function the window never ends up spanning multiple
desktops. BTW, using the aritmetic expansion operators is not portable
since they are not a Bourne shell feature. Using the expr command would
make such scripts more portable since ksh and bash for example seem to
have different aritmetic expansion mechanisms. I don't think this was
the problem however as I had changed my shell to /bin/zsh.

Thanks,

Neil

On Sat, May 20, 2000 at 03:24:02PM -0230, Neil Zanella wrote:
> 
> Hello,
> 
> I wonder if it is possible to do the following with fvwm2: I would like to
> have a function bound to a titlebar button that does the following:
> 
> - Upon first click the window is maximized horizontally.
> - Upon second click the window is expanded so that its right border 
>   touches the right side of the viewport immediately to the window's
>   right.
> - Upon third click the above step is repeated so that the window occupies
>   three viewports (the original one and the two to its right).
> - At the nth click the window occupies n viewports, etc...

With the patch I have just made it's possible:

  AddToFunc MaximizeWidthMult
  + i piperead "echo maximize on $$[(($[w.width] + 50) / $[vp.width]) * 100 + 100] 0"

This works with zsh, but probably also with bash, sh, ...
The interesting parts are the outer '$$[...]' which is a
quoted shell arithmetic expansion ($[...]) and the inner
$[w.width] which is replaced by the window's width by fvwm
and the $[vp.width] (viewport width).  The +50 rounds up the
window's width in case the viewport width is not a multiple
of the window's width_inc.

--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
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].

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 10 Jul 2000 02:50:33 +0300

> of the window's width_inc.

It works with my bash. And with expr as well. Do you run this function in
a window context? Try to bind it to a button or run: Pick MaximizeWidthMult
Or maybe you have MaxWindowSize 100 100 or similar, limiting the size.
For example xv will only occupy several pages if you give -nolimits to it.

Regards,
Mikhael.

---

From: Neil Zanella <[email-masked]>
Date: Mon, 10 Jul 2000 23:48:54 -0230 (NDT)

> For example xv will only occupy several pages if you give -nolimits to it.

Thanks. I had a "Style xterm MaxWindowSize 100 100" in my configuration
file. What I really meant to do with this is have xterm be initially
occupy no more space than one viewport and be entirely contained in the
viewport but no fvwm flag will fo this.

Other than that with "Style xterm MaxWindowSize 100 100" commented out
the MaximizeWidthMult function works.

Thanks!

Neil