From 7430518301902e7a78adff11c9e28c369383f997 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Sun, 9 Nov 2003 16:26:48 +0000 Subject: [PATCH] * xfns.c (x_window): Set XtNx and XtNy in shell widget for program specified positions. --- src/ChangeLog | 5 +++++ src/xfns.c | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index e2d1a9b42d..d9307fa667 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2003-11-09 Jan Dj,Ad(Brv + + * xfns.c (x_window): Set XtNx and XtNy in shell widget for + program specified positions. + 2003-11-08 Jan Dj,Ad(Brv * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E. diff --git a/src/xfns.c b/src/xfns.c index b188ee3a43..e4742b1d36 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2670,7 +2670,7 @@ x_window (f, window_prompting, minibuffer_only) { int len; char *tem, shell_position[32]; - Arg al[2]; + Arg al[10]; int ac = 0; int extra_borders = 0; int menubar_size @@ -2722,9 +2722,19 @@ x_window (f, window_prompting, minibuffer_only) (xneg ? '-' : '+'), left, (yneg ? '-' : '+'), top); else - sprintf (shell_position, "=%dx%d", - FRAME_PIXEL_WIDTH (f) + extra_borders, - FRAME_PIXEL_HEIGHT (f) + menubar_size + extra_borders); + { + sprintf (shell_position, "=%dx%d", + FRAME_PIXEL_WIDTH (f) + extra_borders, + FRAME_PIXEL_HEIGHT (f) + menubar_size + extra_borders); + + /* Setting x and y when the position is not specified in + the geometry string will set program position in the WM hints. + If Emacs had just one program position, we could set it in + fallback resources, but since each make-frame call can specify + different program positions, this is easier. */ + XtSetArg (al[ac], XtNx, left); ac++; + XtSetArg (al[ac], XtNy, top); ac++; + } } len = strlen (shell_position) + 1; -- 2.20.1