 (behavior ::repaint-tab-updated
           :triggers #{:tab.updated}
           :reaction (fn [this]
-                      (object/update! this [:count] inc)))
+                      (object/update! this [:count] inc)
+                      (object/merge! this {:no-redraw false})))
 
 (behavior ::no-anim-on-drag
           :triggers #{:start-drag}

    (active! obj)))

(defn objs-list [multi objs]
  (let [item (crate/html
              [:ul
               (for [[idx o] (map vector (range) objs)
                     :when @o]
                 (object/->content (object/create ::tab-label multi o idx)))])]
    (js/sortable item (js-obj "axis" "x" "distance" 10  "scroll" false "opacity" 0.9 "connectWith" ".list"))
    (dom/on item "contextmenu" (fn [e]
                                 (object/raise multi :menu! e)))
    (dom/on item "moved" (fn [e] (move-tab multi (.-opts e)) ))

          aidx (->index active)]
      (remove-watch obj :tabs)
      (object/merge! obj {::tabset nil})
      (object/merge! cur-tabset {:objs (vec (remove #(= obj %) (@cur-tabset :objs)))
                                 :no-redraw false})
      (if (= obj active)
        (object/raise cur-tabset :tab idx)
        (when (not= aidx (->index active))
