On Sat, Jun 26, 1999 at 10:22:26PM -0400, Dan Espen wrote:
> Dominik Vogt <dominik.vogt_at_gmx.de> writes:
> > On Fri, Jun 25, 1999 at 05:40:18PM -0700, Patrick Stadler wrote:
> > > Last, every once in a while, an icon will place itself behind another
> > > icon, instead of in an open spot. I haven't been able to reproduce this
> > > reliably. Its not a problem, though, since I have the WindowList bound
> > > to a mouse button, but I just thought you might like to know.
> >
> > Can you find a fairly reliable way to reproduce this?
>
> Manually move an icon. Fvwm2 stops avoiding it.
>
> I believe this is on purpose, but the motivation for the "feature"
> isn't clear to me.
Uh, really? Experimenting with this I see that new icons *do* avoid
the moved one, but the move icon itself will happily overlap any other
in its designated place.
Dan, you know your way around with icon boxes. The passage responsible
for this bug is (icons.c, AutoPlaceIcon, line 489 ff.):
if(IS_ICON_MOVED(t))
{
... use old location
}
else if (t->wmhints && t->wmhints->flags & IconPositionHint)
{
... unrelated code
}
/* dje 10/12/97:
Look thru chain of icon boxes assigned to window.
Add logic for grids and fill direction.
*/
else {
... handle icon boxes
}
When the icon has been moved the code avoiding other icons is
never activated (the passage handling icon boxes). Is it
difficult to feed the icon box code with the current position
of the icon as default and just make the icon avoid others
without warping into the icon box?
The general structure should be like this:
if (t->wmhints && t->wmhints->flags & IconPositionHint)
{
if (!IS_ICON_MOVED(t))
{
... use wm hints
}
else
{
... use old position
}
}
else
{
if (IS_ICON_MOVED(t))
{
... default to old position
do_ignore_icon_boxes = True;
}
else
{
do_ignore_icon_boxes = False;
}
... handle icon boxes, avoid overlapping icons etc.
}
Bye
Dominik ^_^
--
Dominik Vogt, dominik.vogt_at_gmx.de
Reply-To: dominik.vogt_at_gmx.de
--
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 majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Sun Jun 27 1999 - 19:24:28 BST