Non esiste una funzionalità incorporata in Emacs, ma si può incidere aggiungendo le seguenti righe al file .emacs:
(defvar blink-cursor-interval-visible 1)
(defvar blink-cursor-interval-invisible 0.2)
(defadvice internal-show-cursor (before unsymmetric-blink-cursor-interval)
(when blink-cursor-timer
(setf (timer--repeat-delay blink-cursor-timer)
(if (internal-show-cursor-p)
blink-cursor-interval-visible
blink-cursor-interval-invisible))))
(ad-activate 'internal-show-cursor)
Emacs implementa il lampeggio del cursore con una funzione di commutazione chiamato da un timer. Ogni volta che viene chiamata la funzione, nasconde il cursore se è attualmente visibile o lo mostra se è invisibile. Sfortunatamente, il timer chiama questa funzione a intervalli fissi.
Per realizzare tempi di ritardo diversi a seconda dello stato del cursore, il codice sopra riportato advises la funzione interna che mostra o nasconde il cursore. Ogni volta che viene chiamata la funzione, il consiglio cambia il tempo di ritardo del timer su 1 o su 0,2, a seconda che il cursore sia visibile o meno. Cioè, ogni volta che il cursore viene nascosto o mostrato, il tempo di ritardo del timer viene modificato.
Abbastanza hacker, ma fa il trucco.
Ti dispiacerebbe spiegare come funziona? Sono abbastanza interessato. –
Grazie per la risposta. Si interrompe se si chiama la modalità lampeggiamento del cursore, ma funziona come previsto :) – Jesse
Ti dispiacerebbe elaborare quando si rompe? – Thomas