Subject: FVWM: Positioning of dialog shells

From: Kevin Scott <[email-masked]>
Date: Mon, 8 Jul 1996 18:49:18 +0100

I have found a difference in behaviour between fvwm 2.0.42 and other
window managers (such as mwm and HP VUE) - I'm not sure if its a bug
or a feature!

The behaviour:

I have an application, using Motif, that starts up a dialog shell.  It
attempts to position the shell at the same location as the application's
main shell by obtaining XmNx and XmNy for the main shell (using
XtVaGetValues) and setting them to the same value for the dialog shell
(usuing XtVaSetValues).  Under mwm this results in the top LH corners of
the window borders to be aligned exactly (as you might expect), with the
top left corner of the window manager frame at the requested co-ordinates.

Under fvwm, the top left corner of the dialog shell (not its window manager
frame) is placed at the requested co-ordinates, so that once the border
is added it is offset up and left from the main window.

This behaviour seems to be caused by the function HandleConfigureRequest,
in events.c, in particular around lines 1286-1289 where x and y are set
as follows:
  if (cre->value_mask & CWX)
    x = cre->x - Tmp_win->boundary_width - Tmp_win->bw;
  if (cre->value_mask & CWY) 
    y = cre->y - Tmp_win->boundary_width - Tmp_win->title_height - Tmp_win->bw;

If I explicitly change this code so that:
  x = cre->x;
  y = cre->y;
the window gets placed where I expect.

Am I overlooking something obvious, or is this behaviour a bug?

Thanks for any pointers,

Kevin Scott
Philips Research Laboratories
[email-masked]
--
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].