anchor.diff:                  (unless override-redirect-p
                     (focus (add-window window))))
                  (:destroy-notify
  -                (window)
  -                (setf *windows* (rrem window *windows* :test #'window-equal))
  -                (when (win= window *last*) (setf *last* nil)))))
  +                (event-window window)
  +                (unless (window-equal event-window window)
  +                  (setf *windows* (rrem window *windows* :test #'window-equal))
  +                  (when (win= window *last*)
  +                    (setf *last* (when (listp *last*)
  +                                   (rrem window *last* :test #'window-equal))))))))
         (ungrab-button *root* (code move) :modifiers (state move))
         (ungrab-button *root* (code resize) :modifiers (state resize))
  +      (ungrab-button *root* (code close) :modifiers (state close))
         (ungrab-key *root* (code prefix) :modifiers (state prefix))
         (close-display *display*))))
   
  
positive.code:     `(let ((,sc (compile-shortcut ',key)))
         (pushnew (cons ,sc #'(lambda () ,@body)) *shortcuts* :test #'equal :key #'car))))
  
  (defun have-focus ()
    "Return a window (or list of) where the focus is."
    (let ((w (input-focus *display*)))
      (find w *windows* :test #'win=)))
  
negative.code: (defshortcut (:mod-1 #\e) (run-program "envi" nil :wait nil :search t))
  (defshortcut (#\w) (run-program "xxxterm" nil :wait nil :search t))
  (defshortcut (:control #\l) (run-program "xlock" nil :wait nil :search t))
  (defshortcut (#\n) (focus (next)))
  (defshortcut (#\p) (focus (next #'1-)))
  (defshortcut (:control #\n) (focus (next)))
  (defshortcut (:control #\p) (focus (next #'1-)))
  (defshortcut (:control #\t) (flast))
  
  ;;; Modifier keypress avoidance code
  