Emacs package that lets faces change color when idle:
First, define what faces will be affected with huecycle-set-faces
:
(huecycle-set-faces
((background . mode-line)))
Then calling huecycle
will then let those faces change color.
You can specify multiple faces into a group, which will allow settings to take affect for all faces. Groups follow the form of association list entries mapping a face spec to affected faces, followed by options.
(huecycle-set-faces
((background . mode-line)
(foreground . (warning highlight))
:speed 2.0
:persist t))
Faces in a group sync up color changes.
You can have multiple groups, each with their own configurations:
(huecycle-set-faces
((background . hl-line)
(foreground . (line-number-current-line))
:random-color-hue-range (0.0 1.0)
:random-color-saturation-range (0.8 1.0)
:random-color-luminance-range (0.5 0.8))
((foreground . warning)
:color-list ("#FF0000" "#FF0000" "#DDAAAA")
:next-color-func huecycle-get-next-list-color
:speed 5.0))
Read the documentation for huecycle-set-faces
to see all the ways you control groups.
You can make Emacs huecycle
when idle using M-x huecycle-when-idle
.
You can specify how long Emacs will cycle for with M-x huecycle-set-cycle-duration
.