         {:mode :requests-focus
          :focused-child this-focused-child}
         (and (:closed-focus-root component) (#{:none :throws-focus :requests-focus} this-mode))
-        having-focus-state
+        (having-focus-state component "closed root by mouse")
+        (focus-uninterested? component)
+        {:mode :got-trigger
+         :focused-child nil}
         :else old-focus-state)
 
       (fgc/parent-reason? reason)

        ;; Otherwise my parent has focus permanently and my state is clean
        :has-focus (if (= parent-focused-child (:id component)) ; This condition means that parent has focus temporarily
                     ;; Parent keeps latest throwing direction in :throw-mode in this case. Track it for further use
                     (assoc having-focus-state :throw-mode (:throw-mode parent-focus-state))
                     clean-state)
        ;:has-focus clean-state
        :none clean-state
        :parent-of-focused (if (= parent-focused-child (:id component))
                             ;; If my parent is :parent-of-focused and I am :parent-of-focused,

                                                         :first)
                                                       nil)))]
                                 (focus-child-by-direction child-id (:throw-mode parent-focus-state))
                                 (having-focus-state component (str "from parent " parent-id " that requested")))
                               ;; No change in state but track focus movent direction
                               (assoc old-focus-state :throw-mode (:throw-mode parent-focus-state)))

