[Bug: 21.5] XEmacs resizing and moving

Surendra Singhi efuzzyone at netscape.net
Sat Jun 18 01:49:32 EDT 2005


Fabrice Popineau <Fabrice.Popineau at supelec.fr> writes:

> * Surendra Singhi <efuzzyone at netscape.net> writes:
>
>     > ================================================================
>     > Dear Bug Team!  If my Xemacs is maximized and then Whenever I
>     > changer buffer(C-x b) my Xemacs resizes and moves, it is a very
>     > annoying behavior. The mini-buffer moves out of the visible
>     > region, and I am forced to either maximize Xemacs or move it.
>
> I have spent a bit of time tracking this issue. I came with the
> following _reversed_ patch. Explanation:
>
> - I see no reason why the frame should be restored when its size
> changes. In fact this is the reason of the behaviour you are
> observing. The frame is restored and then its size is changed without
> moving it.
>
> - For safety reasons, I have added origin for the frame in
> window-configuration (window-xemacs.el). I hope that's not a problem and
> it seemed sensible to me to memorize both origin and size.
>
> It would be nice if someone could review this patch.

Hello Fabrice, 
  Thanks for your help. I tried the lisp patch and it seems to be fine. I
could not apply the c patch and test it as I don't have VC++ compiler.

The only problem with the lisp patch is that I have to always load the
window-xemacs.el file on starting up. But, it it not a hassle as I have added
the code for that in my init file.

Sincerely,

-- 
Surendra Singhi
http://www.public.asu.edu/~sksinghi/index.htm

Great wits are sure to madness near allied,
And thin partitions do their bounds divide.

   (John Dryden, Absalom and Achitophel, 1681)



>
> diff -ru -X c:/source/XEmTeX/msvc/diff.exclude lisp/window-xemacs.el lisp/window-xemacs.el
> --- lisp/window-xemacs.el	2005-06-17 08:50:43.000000000 +0200
> +++ lisp/window-xemacs.el	2005-02-16 12:07:30.000000000 +0100
> @@ -119,7 +119,6 @@
>
>  (defstruct window-configuration
>    frame
> -  frame-top frame-left
>    frame-pixel-width frame-pixel-height
>    current-buffer
>    minibuffer-pixel-height
> @@ -136,10 +135,6 @@
>  	      (window-configuration-frame-pixel-width conf-2))
>  	   (= (window-configuration-frame-pixel-height conf-1)
>  	      (window-configuration-frame-pixel-height conf-2))
> -	   (= (window-configuration-frame-top conf-1)
> -	      (window-configuration-frame-top conf-2))
> -	   (= (window-configuration-frame-left conf-1)
> -	      (window-configuration-frame-left conf-2))
>  	   (eq (window-configuration-current-buffer conf-1)
>  	       (window-configuration-current-buffer conf-2))
>  	   (saved-window-equal (window-configuration-saved-root-window conf-1)
> @@ -218,8 +213,6 @@
>
>      (make-window-configuration
>:frame frame
> -:frame-top (frame-property frame 'top)
> -:frame-left (frame-property frame 'left)
>:frame-pixel-width (frame-pixel-width frame)
>:frame-pixel-height (frame-pixel-height frame)
>:current-buffer (current-buffer)
> @@ -291,8 +284,6 @@
>
>    (frame-reduce-to-one-window frame)
>    (set-window-configuration-frame-size configuration)
> -  (set-frame-property frame 'left (window-configuration-frame-left configuration)) 
> -  (set-frame-property frame 'top (window-configuration-frame-top configuration)) 
>
>    ;; these may have changed because of the delete
>    (let ((root-window (frame-root-window frame)))
> diff -ru -X c:/source/XEmTeX/msvc/diff.exclude src/frame-msw.c src/frame-msw.c
> --- src/frame-msw.c	2005-06-17 09:59:37.000000000 +0200
> +++ src/frame-msw.c	2004-11-05 00:06:30.000000000 +0100
> @@ -353,7 +353,7 @@
>  		      GetMenu (FRAME_MSWINDOWS_HANDLE (f)) != NULL,
>  		      qxeGetWindowLong (FRAME_MSWINDOWS_HANDLE (f), GWL_EXSTYLE));
>
> -  if (IsIconic (FRAME_MSWINDOWS_HANDLE (f)) /* || IsZoomed (FRAME_MSWINDOWS_HANDLE (f)) */)
> +  if (IsIconic (FRAME_MSWINDOWS_HANDLE (f)) || IsZoomed (FRAME_MSWINDOWS_HANDLE (f)))
>      ShowWindow (FRAME_MSWINDOWS_HANDLE (f), SW_RESTORE);
>
>    SetWindowPos (FRAME_MSWINDOWS_HANDLE (f), NULL, 





More information about the XEmacs-Beta mailing list