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