anchor.diff:    (dolist (w window)
       (when (eql (window-map-state w) :viewable)
         (setf (window-priority w) :above)))
  -  (set-input-focus *display* :pointer-root :pointer-root))
  +  (unless (null window)
  +    (set-input-focus *display* :pointer-root :pointer-root)))
   
   (defmethod focus :after (window) (display-finish-output *display*))
   
  
positive.code:                   (focus (add window))))
                 (:destroy-notify
                  (window)
                  (when (member window *windows* :test #'win=)
                    (setf *windows* (rrem window *windows* :test #'window-equal))
                    (let (move-focus)
                      (when (win= window *last*)
                        (setf *last* (find-if #'(lambda (w) (win= w *last*)) *windows*)))
                      (when (win= window *curr*)
                        (let ((ncurr (find-if #'(lambda (w) (win= w *curr*)) *windows*)))
                          (if ncurr 
                              (setf *curr* ncurr)
                              (setf *curr* (next #'1+ *last*)
                                    move-focus t))))
                      (when (null *last*)
                        (setf *last* (next #'1+ *curr*)))
                      (when move-focus (focus *last*)))))))
        (ungrab-button *root* (code *move*) :modifiers (state *move*))
        (ungrab-button *root* (code *resize*) :modifiers (state *resize*))
        (ungrab-button *root* (code *kill*) :modifiers (state *kill*))
  
negative.code:        (pushnew (cons ,sc #'(lambda () ,@body)) *shortcuts* :test #'equal :key #'car))))
  
  (defmethod focus :before (window)
    (unless (null window)
      (unless (win= window *curr*) (setf *last* *curr*))
      (setf *curr* window)))
  
  (defmethod focus ((window window))
    (when (eql (window-map-state window) :viewable)
  