From 4a4cbdd52890e39403fbae1cca0df762ee42a683 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Wed, 24 May 1995 04:54:34 +0000 Subject: [PATCH] (x_set_offset): Add border_width when calling XMoveWindow. --- src/xterm.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index 1a00bd3c0cd..cf6f6987792 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -4798,6 +4798,8 @@ x_set_offset (f, xoff, yoff, change_gravity) register int xoff, yoff; int change_gravity; { + int modified_top, modified_left; + if (change_gravity) { f->display.x->top_pos = yoff; @@ -4814,12 +4816,22 @@ x_set_offset (f, xoff, yoff, change_gravity) BLOCK_INPUT; x_wm_set_size_hint (f, 0, 0); + /* It is a mystery why we need to add the border_width here + when the frame is already visible, but experiment says we do. */ + modified_left = f->display.x->left_pos; + modified_top = f->display.x->top_pos; + if (change_gravity) + { + modified_left += f->display.x->border_width; + modified_top += f->display.x->border_width; + } + #ifdef USE_X_TOOLKIT XMoveWindow (FRAME_X_DISPLAY (f), XtWindow (f->display.x->widget), - f->display.x->left_pos, f->display.x->top_pos); + modified_left, modified_top); #else /* not USE_X_TOOLKIT */ XMoveWindow (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), - f->display.x->left_pos, f->display.x->top_pos); + modified_left, modified_top); #endif /* not USE_X_TOOLKIT */ UNBLOCK_INPUT; } -- 2.39.2