Use restart-alarm for ui blink code
parent
99e3fe6a6e
commit
3a7f9c3947
|
@ -60,14 +60,11 @@ SYMBOL: blink-interval
|
|||
750 milliseconds blink-interval set-global
|
||||
|
||||
: stop-blinking ( editor -- )
|
||||
[ [ stop-alarm ] when* f ] change-blink-alarm drop ;
|
||||
blink-alarm>> [ stop-alarm ] when* ;
|
||||
|
||||
: start-blinking ( editor -- )
|
||||
[ stop-blinking ] [
|
||||
t >>blink
|
||||
dup '[ _ blink-caret ] blink-interval get delayed-every
|
||||
>>blink-alarm drop
|
||||
] bi ;
|
||||
t >>blink
|
||||
blink-alarm>> [ restart-alarm ] when* ;
|
||||
|
||||
: restart-blinking ( editor -- )
|
||||
dup focused?>> [
|
||||
|
@ -80,10 +77,15 @@ PRIVATE>
|
|||
|
||||
M: editor graft*
|
||||
[ dup caret>> activate-editor-model ]
|
||||
[ dup mark>> activate-editor-model ] bi ;
|
||||
[ dup mark>> activate-editor-model ]
|
||||
[
|
||||
[
|
||||
'[ _ blink-caret ] blink-interval get dup <alarm>
|
||||
] keep blink-alarm<<
|
||||
] tri ;
|
||||
|
||||
M: editor ungraft*
|
||||
[ stop-blinking ]
|
||||
[ [ stop-blinking ] [ f >>blink-alarm drop ] bi ]
|
||||
[ dup caret>> deactivate-editor-model ]
|
||||
[ dup mark>> deactivate-editor-model ] tri ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue