anchor.diff:                    (focus (add-window window))))
                  (:destroy-notify
                   (window)
  -                (setf *windows* (rrem window *windows* :test #'window-equal)))))
  -                ;; (if (win= window *last*)
  -                ;;     (setf *last* nil)
  -                ;;     (focus *last*)))))
  +                (setf *windows* (rrem window *windows* :test #'window-equal))
  +                (if (win= window *last*)
  +                    (setf *last* nil)
  +                    (focus *last*)))))
         (ungrab-button *root* (code move) :modifiers (state move))
         (ungrab-button *root* (code resize) :modifiers (state resize))
         (ungrab-key *root* (code prefix) :modifiers (state prefix))
  
positive.code:     `(let ((,sc (compile-shortcut ',key)))
         (pushnew (cons ,sc #'(lambda () ,@body)) *shortcuts* :test #'equal :key #'car))))
  
  (defun focus-1 (window)
    (when (eql (window-map-state window) :viewable)
      (setf *last* (input-focus *display*)
            (window-priority window) :above)
      (set-input-focus *display* window :pointer-root)
      (display-finish-output *display*)))
  
  (defun focus (window)
    (if (listp window)
        (dolist (w window) (focus-1 w))
        (focus-1 window)))
  
negative.code: (defparameter *shortcuts* 
    (list (cons (compile-shortcut '(:shift #\q)) 'quit))
    "Shortcuts alist initialized with the quit command.")
  
  (defmacro defshortcut (key &body body)
    "Define a new shortcut in *shortcuts* alist. The key in this alist
  