Subject: FVWM: Window avoidance

From: Dave <[email-masked]>
Date: Thu, 9 Nov 2000 15:54:25 +0000

Hi all,

I'm new to FVWM, although I've used quite a few other WMs before. I'm trying
out 2.3.21 inside a gnome-session, although the question is appliccable in
more general settings.

I've got a panel running (26 pixels high at the top of the screen) and would
like to mark this off as an "out-of-bounds" region for other windows - ie if I
maximise a window it won't take up the top 26 pixels of the screen. Similarly,
new windows won't appear in the top 26 pixels (I can live with putting default
co-ords at 0 26 for this). There's definitely a way of stopping maximisation
to the bottom 26 pixels, but I'm awkward and have my panel at the top... Any
ideas?

Thanks for all help,

-Dave
--
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: Thu, 9 Nov 2000 20:34:57 +0200

> to the bottom 26 pixels, but I'm awkward and have my panel at the top... Any

You would be better with bottom panels. Still let's try.

If you use (Style * SmartPalcement, CleverPlacement) fvwm will try its
best not to put new windows over existing windows, especially sticky ones.

If you use iconified windows (Style "xterm" Icon xterm.xpm), you can
specify a place for your icons using (Style * IconBox).

To maximize propertly you can try this MyMaximize instead of Maximize:

DestroyFunc MyMaximize
AddToFunc   MyMaximize
+ I Maximize 100 -26p
+ I Current (Maximized) Move w w+26p

It flicks a bit, but works well.

Regards,
Mikhael.

---

From: "Paul D. Smith" <[email-masked]>
Date: 09 Nov 2000 13:47:07 -0500

%% Mikhael Goikhman <[email-masked]> writes:

  mg> If you use (Style * SmartPalcement, CleverPlacement) fvwm will try
  mg> its best not to put new windows over existing windows, especially
  mg> sticky ones.

I think if you move the panel to a higher layer, FVWM will also not
obscure it.

In my Gnome desktop, the panel came out at layer 2 by default.  It also
wouldn't auto-raise over the other windows, which made it effectively
invisible unless I moved windows around (maybe because it's on a
different layer?  I'm not sure exactly how layers play with FvwmAuto?).

I used ``Style "panel" Layer 6'' to move it up, now it's fine.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[email-masked]>    HASMAT--HA Software Methods & Tools
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.
--
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: Thu, 9 Nov 2000 21:07:45 +0200

> I think if you move the panel to a higher layer, FVWM will also not

Dave didn't want other windows to be under the panel, he wanted them to be
outside of the panel space completely.

> different layer?  I'm not sure exactly how layers play with FvwmAuto?).

Raise and Lower (these are used in FvwmAuto) work only inside one layer.

> I used ``Style "panel" Layer 6'' to move it up, now it's fine.

Yes, fine, but only until you collapse it, then it moves itself into layer
2 or 8 again. Very bad behaviour. But there are workarounds though.

Regards,
Mikhael.

---

From: "Paul D. Smith" <[email-masked]>
Date: 09 Nov 2000 14:15:42 -0500

>> I think if you move the panel to a higher layer, FVWM will also not

  mg> Dave didn't want other windows to be under the panel, he wanted
  mg> them to be outside of the panel space completely.

Don't know if it's coincidence or on purpose, but ever since I moved the
panel to layer 6 no window has been created that overlaps it, either
over it _or_ underneath it.

  mg> Raise and Lower (these are used in FvwmAuto) work only inside one layer.

Gotcha.

  >> I used ``Style "panel" Layer 6'' to move it up, now it's fine.

  mg> Yes, fine, but only until you collapse it, then it moves itself
  mg> into layer 2 or 8 again. Very bad behaviour. But there are
  mg> workarounds though.

Hmm... I don't collapse it ever, but you're right, that sounds bad.

Is it the panel itself that keeps forcing the layer like that?  Is there
any way to customize the layer used from the panel's perspective?

---

From: Mikhael Goikhman <[email-masked]>
Date: Fri, 10 Nov 2000 01:18:57 +0200

> over it _or_ underneath it.

I would think, this is because of CleverPlacement, not because of layer.

> any way to customize the layer used from the panel's perspective?

Panel uses gnome hints to convince fvwm to change its layer dynamically.
So this should be configured in the panel.

Thanks to Dominik, now it is possible to do: Style panel GNOMEIgnoreHints
This sounds a bit silly (disable gnome hints from gnome panel), but
this is a good answer to the panel developers forcing this behaviour. :)

There are other solutions with layers depending on whether you want panel
to be always on the same layer as other windows or always above or below.

Regards,
Mikhael.

---

From: "Paul D. Smith" <[email-masked]>
Date: 10 Nov 2000 01:18:44 -0500

mg> I would think, this is because of CleverPlacement, not because of layer.

I dunno what to tell you, except that when the panel was at layer 2, my
Netscape windows would constantly be created obscuring it (I'm a huge
fan of mouse-2 in Netscape :).  Since FvwmAuto didn't do much (as you've
explained--thanks, that makes sense) I was constantly moving them around
while muttering under my breath.

Once I got off my butt and used FvwmCommand to change the Layer to 6
(with no other changes at all) the windows never overlap the panel
anymore.

  mg> Thanks to Dominik, now it is possible to do: Style panel
  mg> GNOMEIgnoreHints This sounds a bit silly (disable gnome hints from
  mg> gnome panel), but this is a good answer to the panel developers
  mg> forcing this behaviour. :)

Heh :)

---

From: Dominik Vogt <[email-masked]>
Date: Mon, 13 Nov 2000 03:13:22 +0100

> (with no other changes at all) the windows never overlap the panel

The CleverPlacement algorithm uses various penalties when placing
windows.  Placing windows under a window in a higher layer uses an
avoidance factor 5 times higher compared to normal windows.  This
is the reason why windows are rarely placed unden "OnTop" windows
with CleverPlacement.  However, if you create enough windows on a
high layer, normal windows *will* be placed beneath them.

>   mg> forcing this behaviour. :)

:)

I didn't want to hear "why does the gnome panel obscure all my windows"
after 2.4 over and over again.  How about

  style *gnome* GNOMEIgnoreHints

as default? :-)=)

Bye

Dominik ^_^  ^_^

--
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
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: "Paul D. Smith" <[email-masked]>
Date: 13 Nov 2000 00:23:53 -0500

%% Dominik Vogt <[email-masked]> writes:

  dv>   style *gnome* GNOMEIgnoreHints

  dv> as default? :-)=)

:-O :)

Unfortunately, I don't think this will solve this problem because, IIRC,
the panel (at least) won't match "gnome".  I know the class is just
"Panel" and the instance is "panel".  I can't remember the rest; I'll
have to check tomorrow (I don't run Gnome on my home system).