         (catch Exception e (do (println "Config invalid: " (.getMessage e)) false)))
       false)))
 
+(fg/defevolverfn shortcut-pressed-evolver :pressed
+  (cond
+    (and
+      (keyboard/key-pressed? component)
+      (inputbase/with-ctrl? component)
+      (= (keyboard/get-key component) KeyEvent/VK_A)) true
+    (keyboard/key-released? component) false
+    :else old-pressed))
+
 (def layout-window
   (fg/defcomponent
     window/window

  (:require [flatgui.util.matrix :as m]
            [flatgui.base :as fg]
            [flatgui.awt :as awt]
            [flatgui.theme]
            [flatgui.layout]
            [flatgui.widgets.label :as label]

                                                            :auto-size true
                                                            :paint-border false
                                                            :model text-model
                                                            :text (:text text-model)
                                                            :evolvers {:pressed shortcut-pressed-evolver
                                                                       :pressed-trigger abtn/pressed-trigger-evolver}})}})}})

    (fg/defcomponent label/label :validity-indicator
      {:text "Valid"
       :foreground (awt/color 64 255 64)
       :evolvers {:text (fg/accessorfn (if (get-property component [] :config-valid)
                                         "Current config: valid"
                                         "Current config: invalid"))
                  :foreground (fg/accessorfn (if (get-property component [] :config-valid)
                                               (awt/color 64 255 64)
                                               (awt/color 255 64 64)))}})

    (fg/defcomponent button/button :apply {:text "Apply (Ctrl+A)"})))

(def root-panel
  (fg/defcomponent
