Index: /trunk/source/contrib/foy/window-parking-cm/window-parking.lisp
===================================================================
--- /trunk/source/contrib/foy/window-parking-cm/window-parking.lisp	(revision 12839)
+++ /trunk/source/contrib/foy/window-parking-cm/window-parking.lisp	(revision 12840)
@@ -101,5 +101,6 @@
 ;;;
 (defclass PARKABLE-HEMLOCK-FRAME (gui::hemlock-frame)
-  ((parked-p :initform nil :accessor parked-p))
+  ((parked-p :initform nil :accessor parked-p)
+   (front-p :initform nil :accessor front-p))
   (:metaclass ns:+ns-object))
 
@@ -150,5 +151,5 @@
 
 (objc:defmethod (#/makeKeyAndOrderFront: :void) ((w parkable-hemlock-frame) (sender :id))
-  (setf (parked-p w) t) ; only park it once
+  (setf (front-p w) t)
   (call-next-method sender))
 
@@ -157,4 +158,5 @@
          (call-next-method rect display-p))
         (t
+         (when (front-p w) (setf (parked-p w) t))
          (multiple-value-bind (h-position v-position h-dimension v-dimension)
                               (park *window-parker* w)
@@ -198,5 +200,4 @@
   (setf (ps-function-key ps) function-key))
 
-;;; This is untested
 (defMethod parking-spot-on-screen-p ((ps parking-spot) &optional window)
   (let* ((screen (if window 
@@ -444,5 +445,5 @@
 
 ;;; ----------------------------------------------------------------------------
-;;; Function commands and bindings:
+;;; Commands and bindings:
 ;;;
 (hemlock::defcommand "Move Window to Position 1" (p)
