anchor.diff:        (when (win= *curr* *last*) (setf *last* (setf res nil)))
         res)))
   
  +(defun toggle-hide ()
  +  "Hide or show every managed window."
  +  (cond (*hidden*
  +         (loop for w in *hidden* do (mapw w))
  +         (setf *hidden* nil))
  +        (t
  +         (setf *hidden* (copy-tree *windows*))
  +         (loop for w in *windows* do (unmapw w)))))
  +
   (defmacro defror (command)
     "Define a raise or run command."
     (let ((win (gensym))
  
positive.code: 
  (defun app ()
    (grab-keyboard *root*)
    (unwind-protect 
         (recdo 0 *apps* #'(lambda (app) (run-program app nil :wait nil :search t)))
      (ungrab-keyboard *display*)))
  
  
negative.code: (defvar *display* (open-default-display))
  (defvar *root* (screen-root (display-default-screen *display*)))
  (defparameter *windows* nil "List of managed and mapped windows.")
  (defparameter *hidden* nil "List of hidden windows.")
  (defparameter *last* nil "Last focused window.")
  (defparameter *curr* nil "Current focused window.")
  
  