Subject: FVWM: Binding actions to sliding panels

From: Thomas Adam <[email-masked]>
Date: Mon, 18 Feb 2002 12:41:47 +0000 (GMT)

List,

As many of you know now, I have a sliding panel at the
bottom of my screen (similar to that found in KDE). 

However, the problem I am having at the minute, is
that when I open the panel so that it slides out, it
covers some of the windows already on my page.

What I would like to happen, is that when I open the
sliding panel, for all windows on that page to have
their lower border to be raised to a certain pixel
height, thus in psuedo-code:

1. When sliding panel opens
2. Raise all windows to the followinf specs:

maximize "ALL WINDOWS" 100 435p

and when I close the panel, to put the windows back
how they were originally. Is this possible???

I have been reading the man pages, and I know how to
do this (sort of), it is just getting it to happen
after the panel has been open/closed.

Furthermore, since this sliding panel is sticky, how
does this affect the other windows when I change to
other pages/desks???

Many many thanks for all your help,
Kind Regards,

Thomas Adam

(I'll get there in the end -- it's a pity that no-one
has tried to come up with a "decent" GUI-config tool.
I know DotGenerator tried, but...........)

=====
Thomas Adam

"The Linux Weekend Mechanic" -- www.linuxgazette.com

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com
--
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, 18 Feb 2002 15:39:22 +0000

> covers some of the windows already on my page.

Well, the "standard" solution in EWMH (exterded window manager hints) for
this problem is defining a working area that is dynamically changed when
a panel (or other similar compliant app) is open/closed. The maximized
applications are automatically resized accourdingly to the new dynamical
working area (this may be configured).

I think it works as expected for the KDE panel in 2.5.x.
But FvwmButtons panels do not set EWMH hints, so this can't be used here.

> after the panel has been open/closed.

When the panel is open, as usual, add_window event is sent, and when it is
closed destroy_window is sent.

You may Maximize on FvwmEvent's add_window using:

  WindowId $0 ("FvwmButtons-MyPanel") All (!Iconic, !Shaded) Maximize ...

But unfortunately you can't do the same on destroy_window. Id is passed
without problems, but WindowId $0 does not match, since there is no such
window mapped already. I don't know whether this may be fixed.

So, no ready solution for you, just some hints.

> does this affect the other windows when I change to

How effects what? Maximize of windows on all pages?

Here is a simple hint that one may use in 2.5.x:

  EWMHBaseStrut 0 0 0 64

This instructs FVWM to try not to put any windows (this affects placement
and Maximize) into the bottom 64 pixels gap, leaving it for the panel.

Regards,
Mikhael.