     (config! (id :vars-lb-sp) :preferred-size (config (id :vars-lb-sp) :size))
     ;; ns
     (config! (id :ns-lb) :model @all-ns-loaded-atom)
+    (config! (id :ns-lb) :selection-mode :multi-interval) ;; experimental...
     (config! (id :vars-lb) :model [])
     (config! (id :ns-entries-lbl) :text "0")
     (config! (id :ns-require-btn) :enabled? false)

        (b/tee
          (b/bind
            (b/transform (fn [ns]
              (ensure-selection-visible (id :ns-lb))
              (if (and ns (some #(= ns %) @all-ns-unloaded-atom))
                true
                false)))

              (selection! (id :ns-cbx) "loaded")
              (selection! (id :ns-lb) ns1)
              (selection! (id :vars-cbx) "publics")
              (selection! (id :vars-lb) name1)
              (ensure-selection-visible (id :ns-lb))
              (ensure-selection-visible (id :vars-lb)))
            (if (find-ns (symbol name1))
              ;; should be namespace
              (invoke-soon
                (selection! (id :ns-lb) name1)
                (selection! (id :doc-cbx) "Doc")
                (ensure-selection-visible (id :ns-lb))
                (ensure-selection-visible (id :vars-lb)))
              ;; else must be special-form or class
              (invoke-soon
                (if (special-form? fqn)
