anchor.diff:      `(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=)))
  +
   (defun focus-1 (window)
     (when (eql (window-map-state window) :viewable)
  -    (setf *last* (input-focus *display*)
  -          (window-priority window) :above)
  +    (setf (window-priority window) :above)
       (set-input-focus *display* window :pointer-root)
       (display-finish-output *display*)))
   
   (defun focus (window)
  +  (setf *last* (have-focus))
     (if (listp window)
         (dolist (w window) (focus-1 w))
         (focus-1 window)))
  
positive.code: (defparameter *shortcuts* 
    (list (cons (compile-shortcut '(:shift #\q)) 'quit))
    "Shortcuts alist initialized with the quit command.")
  (defparameter *windows* nil "List of managed windows")
  (defparameter *last* nil "Last focused window")
  
  (defmacro defshortcut (key &body body)
    "Define a new shortcut in *shortcuts* alist. The key in this alist
  
negative.code: (defshortcut (:control #\l) (run-program "xlock" nil :wait nil :search t))
  (defshortcut (#\n) (next))
  (defshortcut (#\p) (next #'1-))
  (defshortcut (:control #\t) (flast))
  ;;(defshortcut (#\h) (toggle-hide))
  (defparameter *groupers* (list 
                            #'(lambda (w) 
  