An open API service indexing awesome lists of open source software.

https://github.com/pprevos/disco-ef-themes

Frivolous package to randomly change Ef Themes
https://github.com/pprevos/disco-ef-themes

Last synced: 6 months ago
JSON representation

Frivolous package to randomly change Ef Themes

Awesome Lists containing this project

README

          

#+title: Disco Ef Themes
#+date: [2023-12-04 Mon]

The [[https://protesilaos.com/emacs/ef-themes][Ef (εὖ/good) Themes]] package by Protesilaos Stavrou (Prot) provides colorful and legible themes.

The ~diso-ef-themes~ package detects whether the active Ef theme is light or dark of the Ef variety and then picks a random light or dark theme. If the current theme is not a member of the Ef catalogue, then a random dark variety is loaded.

This frivolous package can also automatically change themes at a defined interval, creating an Ef Themes disco!

There are three commands:
- ~disco-ef-themes-load-random~: Load a random theme manually. Matches the shade of the active theme.
- ~disco-ef-themes-change-shade~: Toggle between light and dark theme.
- ~disco-ef-themes~: Activate the disco

If you are hungry for more, then check out the [[https://elpa.gnu.org/packages/theme-buffet.html][theme-buffet]] by Bruno Boal and Protesilaos Stavrou.

* Installation and configuration
Download the =disco-ef-themes.el= file and store it in your preferred location. This ~use-package~ declaration loads the theme and starts the disco by changing themes every 10 seconds. Alternatively use:

#+begin_src elisp
(package-vc-install "https://github.com/pprevos/disco-ef-themes")
#+end_src

You can change the interval with the ~disco-ef-themes-interval~ variable. Setting it to low might lock your Emacs. My [[https://github.com/pprevos/emacs-config][personal configuration]] sets it at 600 seconds, which adds some variety to my day.

#+begin_src elisp :results none :tangle no
(use-package disco-ef-themes
:load-path "~/.config/emacs/" ;; Add and edit as required
:custom
(disco-ef-themes-interval 10)
:bind
(("" . disco-ef-themes-load-random)
("M-" . disco-ef-themes)
("C-" . disco-ef-themes-change-shade)))
#+end_src

** Key Bindings
- =F12= changes themes manually
- =C-F12= toggles between dark and light themes
- =M-F12= activates the disco