Previous: Sample configuration with and without use-package, Up: Enable and load [Index]
The reason we recommend load-theme instead of the other option of
enable-theme is that the former does a kind of “reset” on the face
specs. It quite literally loads (or reloads) the theme. Whereas the
enable-theme function simply puts an already loaded theme to the top
of the list of enabled items, reusing whatever state was last loaded.
As such, load-theme reads all customizations that may happen during
any given Emacs session: even after the initial setup of a theme.
Examples are calls to custom-set-faces, as well as new values assigned
to the options the Modus themes provide (Customization Options).
Our tests show that enable-theme does not read such variables anew, so
it might appear to the unsuspecting user that the themes are somehow
broken whenever they try to assign a new value to a customization option
or some face.
This “reset” that load-theme brings about does, however, come at the
cost of being somewhat slower than enable-theme. Users who have a
stable setup and who seldom update their variables during a given Emacs
session, are better off using something like this:
(require 'modus-themes) ;; Activate your desired themes here (load-theme 'modus-operandi t t) (load-theme 'modus-vivendi t t) ;; Enable the preferred one (enable-theme 'modus-operandi)
Toggle themes without reloading them.
Sample configuration with and without use-package.
With the above granted, other sections of the manual discuss how to
configure custom faces, where load-theme is expected, though
enable-theme could still apply in stable setups:
Previous: Sample configuration with and without use-package, Up: Enable and load [Index]