[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