Emacs - случайная цветовая тема каждый час? - PullRequest
9 голосов
/ 14 августа 2010

Я знаю, что (funcall (car (nth (random (length color-themes)) color-themes))) дает мне случайную цветовую тему при каждом запуске Emacs;но я едва перезагружаю Emacs.Как сделать цикл между случайными цветными темами, скажем, каждый час?

Ответы [ 3 ]

9 голосов
/ 14 августа 2010
(defun random-color-theme ()
  (interactive)
  (random t)
  (funcall (car (nth (random (length color-themes)) color-themes))))

(random-color-theme)

(run-with-timer 1 (* 60 60) 'random-color-theme)

Кредит поступает на ggole @ #emacs (freenode);и aecrvol (ниже) для подсказки (random t).

3 голосов
/ 30 августа 2010

Небольшое улучшение: добавление к функции (random t), иначе сгенерированная последовательность будет одинаковой при каждом запуске Emacs ( от http://www.gnu.org/software/emacs/elisp/html_node/Random-Numbers.html).

(defun random-color-theme ()
  (interactive)
  (random t)  ; randomazing
  (funcall (car (nth (random (length color-themes)) color-themes))))
0 голосов
/ 05 декабря 2018

Вот мое обновление:

(setq color-themes (custom-available-themes))

(defun random-color-theme ()
  (interactive)
  (random t)
  (load-theme
   (nth (random (length color-themes)) color-themes)
   t))


(random-color-theme)

(run-with-timer 1 (* 60 60) 'random-color-theme)
...