]> git.eshelyaron.com Git - emacs.git/commitdiff
[USE_X_TOOLKIT] (x_window): Pass position to toolkit
authorKarl Heuer <kwzh@gnu.org>
Wed, 24 May 1995 02:45:21 +0000 (02:45 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 24 May 1995 02:45:21 +0000 (02:45 +0000)
only if user-specified.  But always use XMoveWindow to move the
window to that position.

src/xfns.c

index f1fbd80051858e6fc62b51d2c9bb5a3b01536244..ebb631716eb90b26a38bec390f7c51118e474a92 100644 (file)
@@ -2443,10 +2443,15 @@ x_window (f, window_prompting, minibuffer_only)
        left = -left;
       if (yneg)
        top = -top;
-      sprintf (shell_position, "=%dx%d%c%d%c%d", PIXEL_WIDTH (f), 
-              PIXEL_HEIGHT (f) + menubar_size,
-              (xneg ? '-' : '+'), left,
-              (yneg ? '-' : '+'), top);
+
+      if (window_prompting & USPosition)
+       sprintf (shell_position, "=%dx%d%c%d%c%d", PIXEL_WIDTH (f), 
+                PIXEL_HEIGHT (f) + menubar_size,
+                (xneg ? '-' : '+'), left,
+                (yneg ? '-' : '+'), top);
+      else
+       sprintf (shell_position, "=%dx%d", PIXEL_WIDTH (f), 
+                PIXEL_HEIGHT (f) + menubar_size);
     }
 
     len = strlen (shell_position) + 1;
@@ -2513,6 +2518,12 @@ x_window (f, window_prompting, minibuffer_only)
   XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                 f->display.x->text_cursor);
 
+  /* If we have a program-specified position, communicate it to
+     the window manager thus.  */
+  if (FRAME_X_WINDOW (f))
+    XMoveWindow (FRAME_X_DISPLAY (f), XtWindow (f->display.x->widget),
+                f->display.x->left_pos, f->display.x->top_pos);
+
   UNBLOCK_INPUT;
 
   if (FRAME_X_WINDOW (f) == 0)