CVS update by michaels xemacs/lisp ...
xemacs-cvs at xemacs.org
xemacs-cvs at xemacs.org
Tue Oct 31 04:16:33 EST 2006
User: michaels
Date: 06/10/31 10:16:33
Modified: xemacs/lisp ChangeLog window-xemacs.el
Log:
2006-10-28 Nix <nix at esperi.org.uk>
* window-xemacs.el (window-configuration-includes-position): New.
* window-xemacs.el (window-configuration-equal): Use it: window
configurations with distinct positions are equal by default.
* window-xemacs.el (really-set-window-configuration): Do not
restore window positions unless requested.
Revision Changes Path
1.764 +8 -0 XEmacs/xemacs/lisp/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.763
retrieving revision 1.764
diff -u -p -r1.763 -r1.764
--- ChangeLog 2006/10/30 11:17:43 1.763
+++ ChangeLog 2006/10/31 09:16:27 1.764
@@ -1,3 +1,11 @@
+2006-10-28 Nix <nix at esperi.org.uk>
+
+ * window-xemacs.el (window-configuration-includes-position): New.
+ * window-xemacs.el (window-configuration-equal): Use it: window
+ configurations with distinct positions are equal by default.
+ * window-xemacs.el (really-set-window-configuration): Do not
+ restore window positions unless requested.
+
2006-10-30 Malcolm Purvis <malcolmp at xemacs.org>
* startup.el (display-splash-screen): No longer bring buffer the
1.25 +27 -11 XEmacs/xemacs/lisp/window-xemacs.el
Index: window-xemacs.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/window-xemacs.el,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -p -r1.24 -r1.25
--- window-xemacs.el 2005/08/06 09:41:59 1.24
+++ window-xemacs.el 2006/10/31 09:16:29 1.25
@@ -107,6 +107,15 @@ buffer appears in it currently)."
;; Window configurations
+(defcustom window-configuration-includes-position nil
+ "*Whether restoring window configurations will restore positions too.
+If nil, only the size of windows will be restored.
+
+Note that setting this value to t may have counterintuitive consequences,
+if a window manager employing virtual desktops is in use."
+:type 'boolean
+:group 'windows)
+
(defstruct saved-window
currentp minibufferp minibuffer-scrollp
buffer mark-marker
@@ -128,7 +137,11 @@ buffer appears in it currently)."
(defun window-configuration-equal (conf-1 conf-2)
"Returns a boolean indicating whether the two given configurations
-are identical."
+are identical.
+
+Window configurations containing windows with different window
+positions are not identical iff `window-configuration-includes-position'
+is t."
(or (eq conf-1 conf-2)
(and (eq (window-configuration-frame conf-1)
(window-configuration-frame conf-2))
@@ -136,10 +149,12 @@ are identical."
(window-configuration-frame-pixel-width conf-2))
(= (window-configuration-frame-pixel-height conf-1)
(window-configuration-frame-pixel-height conf-2))
- (equal (window-configuration-frame-top conf-1)
- (window-configuration-frame-top conf-2))
- (equal (window-configuration-frame-left conf-1)
- (window-configuration-frame-left conf-2))
+ (if window-configuration-includes-position
+ (and (equal (window-configuration-frame-top conf-1)
+ (window-configuration-frame-top conf-2))
+ (equal (window-configuration-frame-left conf-1)
+ (window-configuration-frame-left conf-2)))
+ t)
(eq (window-configuration-current-buffer conf-1)
(window-configuration-current-buffer conf-2))
(saved-window-equal (window-configuration-saved-root-window conf-1)
@@ -294,12 +309,13 @@ by `current-window-configuration'."
; avoid setting these if they're already up-to-date
; This also avoids potential inaccuracies in these settings --Mike
- (let ((left (window-configuration-frame-left configuration))
- (top (window-configuration-frame-top configuration)))
- (if (not (equal left (frame-property frame 'left)))
- (set-frame-property frame 'left left))
- (if (not (equal top (frame-property frame 'top)))
- (set-frame-property frame 'top top)))
+ (when window-configuration-includes-position
+ (let ((left (window-configuration-frame-left configuration))
+ (top (window-configuration-frame-top configuration)))
+ (if (not (equal left (frame-property frame 'left)))
+ (set-frame-property frame 'left left))
+ (if (not (equal top (frame-property frame 'top)))
+ (set-frame-property frame 'top top))))
;; these may have changed because of the delete
(let ((root-window (frame-root-window frame)))
More information about the XEmacs-CVS
mailing list