      (f-to-predicate
       (fn [p]
         (let [{:keys [level message]} p
-              {:keys [tags filter-text filter-is-regex filter-is-ignorecase]} @filter-atom]
+              {:keys [tags filter-text filter-is-regex filter-is-ignorecase]} @config-atom]
           (if-not (get tags level)
             false
             (if filter-is-regex


(defn auto-scroll [table]
  ;; TODO(kep): is too laggy scrollTo. need to refactoring.
  (.. table
      (getItems)
      (addListener
       (reify ListChangeListener
         (onChanged [this change]
           (.next change)
           (let [s (.. table getItems size)]
             (when (pos? s)
               (javafx.application.Platform/runLater
                #(do
                   (let [itm (first (.getAddedSubList change))]
                     (when (instance? Log itm)
                       (.scrollTo table itm))))))))))))


(defn ^java.util.function.Predicate f-to-predicate [f]

   [javafx.collections FXCollections ListChangeListener]))


(def config-atom
  (atom
   {:tags #{"V" "D" "I" "W" "E" "F"}
    :auto-scroll true
    :filter-text ""
    :filter-is-ignorecase false
    :filter-is-regex false
