dunlin

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit bbd67b3a16d25f29ef0ff1da938e5519febe0ef8
parent 6efbc3457643f09a46f5df295b5ea52a6d831855
Author: Daniel Barlow <dan@telent.net>
Date:   Mon, 26 Dec 2022 11:31:10 +0000

make entry widget a file-scoped local

Diffstat:
Mcommand.fnl | 22++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/command.fnl b/command.fnl @@ -111,19 +111,16 @@ (local prompt (Gtk.Label { :label ""})) -(fn update-widget-state [w result] - (set prompt.label (or result.prompt "")) - (set w.sensitive result.active) - (set w.text - (or result.default result.error ""))) - (local widget (let [w (Gtk.Entry { :sensitive false })] (tset w :on_activate (fn [event] - (update-widget-state w (on-input event.text)))) + (let [result (on-input event.text)] + (set prompt.label (or result.prompt "")) + (set w.sensitive result.active) + (set w.text (or result.default result.error ""))))) w)) (local box @@ -136,6 +133,11 @@ (box:pack_start widget true true 5) box)) +(fn update-widget-state [result] + (set prompt.label (or result.prompt "")) + (set widget.sensitive result.active) + (set widget.text (or result.default result.error ""))) + (fn activate [] (tset state :active true) (set widget.sensitive true) @@ -153,15 +155,15 @@ }] (set state s) (let [r (on-input nil)] - (update-widget-state widget r) + (update-widget-state r) (widget:grab_focus) r))) -(fn active? [] state.active) + { : activate - : active? + :active? (fn [] state.active) : define-command : on-input : invoke-interactively