     (b/bind
       (id :update-clojuredocs-btn-atom)
       (b/transform (fn [& o]
-        (invoke-later
+        (future
           (let [f (str (System/getProperty "user.home") "/.clojuredocs-snapshot.txt")]
             (spit f (slurp
         "https://raw.github.com/jafingerhut/cd-client/develop/snapshots/clojuredocs-snapshot-latest.txt"))
-            (alert (str "Locally cached copy of ClojureDocs updated at:" \newline f)))))))
+            (invoke-soon (alert (str "Locally cached copy of ClojureDocs updated at:" \newline f))))))))
     ;;
     ;; inspect-btn pressed =>
     ;; If var is selected and its value is a collection, create inspector.

      :action (fn [event] (swap! (id :browse-btn-atom) not)))
    (listen (id :edit-btn)
      :action (fn [event] (swap! (id :edit-btn-atom) not)))
    (listen (id :clojuredocs-offline-rb)
      :action (fn [event] (swap! (id :clojuredocs-offline-rb-atom) not)))
    (listen (id :clojuredocs-online-rb)


      (config! vars-menu :items ["Trace" "Unmap"])

      (config! font-Monospaced-rb :listen [:action (fn [e] (set-font-handler! root "Monospaced"))] :selected? true)
      (config! font-Menlo-rb :listen [:action (fn [e] (set-font-handler! root "Menlo"))])
      (config! font-Inconsolata-rb :listen [:action (fn [e] (set-font-handler! root "Inconsolata"))])
      (config! font-menu :items [font-Monospaced-rb  font-Menlo-rb font-Inconsolata-rb])

      (config! window-menu :items [(id :zoom-in-action) (id :zoom-out-action) font-menu :separator
        (id :bring-all-windows-to-front-action) (id :cycle-through-windows-action)])

      (config! help-menu :items [(id :go-github-action) (id :go-clojure.org-action) (id :go-clojuredocs-action) (id :go-cheatsheet-action) (id :go-jira-action) (id :go-about-action)])
      (config! docs-menu :items [update-clojuredocs :separator
                                 clojuredocs-online-rb clojuredocs-offline-rb
                                 :separator])
      )))

;; init and browser-window management
