anchor.diff:  
     (unwind-protect (handler-bind ((xlib:window-error #'restart-window-error)
                                    (xlib:drawable-error #'restart-drawable-error)
  +                                 (xlib:match-error #'restart-match-error)
                                    (xlib:value-error #'restart-value-error)
                                    (simple-error #'restart-simple-error))
                       (evloop))
  
positive.code: 
  (defrestart window-error)
  (defrestart drawable-error)
  (defrestart simple-error)
  (defrestart value-error)
  
  
negative.code:             nconc (loop for id in (xlib:get-property w :WM_TRANSIENT_FOR)
                          when (= id (xlib:window-id window))
                            collect w))
      (window-error (c) (declare (ignore c)) nil)
      (match-error (c)
        (format t "~&get-transients-of: ~a ~a~%" c window)
        nil)))
  
  (defun %focus (window)
    "Focus one window and its family if needed."
    (labels ((up (win)
               (setf (xlib:window-priority win) :above)
               (dolist (w (get-transients-of win))
                 (setf (xlib:window-priority w) :above))))
      (let ((family (sort (family window) #'< :key #'xlib:window-id)))
        (cond (family
               ;; focus every other family members and set input
               ;; focus as follow mouse
               (unless (member *curr* family :test #'win=)
                 (setf *last* *curr*
                       *curr* (first family)))
               (dolist (w family) (up w))
               (xlib:set-input-focus *display* :pointer-root :pointer-root))
              (t
               ;; set input focus to window
               (unless (win= *curr* window)
                 (setf *last* *curr*
                       *curr* window))
               (xlib:set-input-focus *display* window :pointer-root)))
            (up window))))
  
  (defparameter *one-group-at-a-time* t "Should the focus shows one group at a time")
  
  (defun same-group (window)
    "Return a list of windows in the same group as `window'."
  