diff --git a/basis/ui/gadgets/editors/editors.factor b/basis/ui/gadgets/editors/editors.factor index 59461c173f..46c2bd1d43 100644 --- a/basis/ui/gadgets/editors/editors.factor +++ b/basis/ui/gadgets/editors/editors.factor @@ -52,19 +52,21 @@ SYMBOL: blink-interval 750 milliseconds blink-interval set-global -: start-blinking ( editor -- ) - t >>blink - dup '[ _ blink-caret ] blink-interval get every >>blink-alarm drop ; - : stop-blinking ( editor -- ) [ [ cancel-alarm ] when* f ] change-blink-alarm drop ; +: start-blinking ( editor -- ) + [ stop-blinking ] [ + t >>blink + dup '[ _ blink-caret ] blink-interval get every + >>blink-alarm drop + ] bi ; + : restart-blinking ( editor -- ) dup focused?>> [ - [ stop-blinking ] [ start-blinking ] [ relayout-1 ] - tri + bi ] [ drop ] if ; M: editor graft*