why cant emacs 24 find a custom theme I added?
Solution 1
If you install themes via elpa
/ package.el
you'll notice that you need to add each theme folder into your custom-theme-load-path
- this is a bit of a pain to do manually, especially when you take into account upgrades will create a new folder, e.g. 0.1.0 -> 0.1.2 will be a new folder inside your elpa
folder.
Assuming you've installed your elpa packages into ~/.emacs.d/elpa/
add this script to your ~/.emacs.d/init.el
(require 'dash)
(require 's)
(-each
(-map
(lambda (item)
(format "~/.emacs.d/elpa/%s" item))
(-filter
(lambda (item) (s-contains? "theme" item))
(directory-files "~/.emacs.d/elpa/")))
(lambda (item)
(add-to-list 'custom-theme-load-path item)))
You'll need dash.el
and s.el
(available from elpa.)
Solution 2
init-themes has commented out the load path.
I have this (add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
and i think it found all my themes with M-x load-theme
, enter
then hit tab to see all the themes.
there was no search in the github for your repo, so i couldn't grep to see if you are doing it elsewhere. Also is your darkclean compatible with a 24 theme?
Edit: 1
actually i thought of another debug technique to rule out it being darkclean vs setup. put into your directory the solarized theme and if you don't see it in your load-theme you know it's you and not a theme, as solarized worked for me this way on emacs 24.
I don't enjoy it, and prefer wombat actually.
Solution 3
I m new to emacs and wanted to add some custom themes and create my own as well.
first add this
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes")
then add any new theme to that folder. This first did not work and when i used load-theme the themes in ~/.emacs.d/thems where not loaded.
the documentation says:
Each theme file is named THEME-theme.el, where THEME is the theme name.
so renaming darklean.el to darkclean-theme.el did the trick
Terrence Brannon
The essence of software design is abstraction. Python is good, but I yearn for the strong-typing of Haskell?
Updated on June 03, 2022Comments
-
Terrence Brannon almost 2 years
My entire emacs setup is here
I loaded my init-theme.el file here
And supposedly that should make the darkclean theme available.
But when I type
M-x load-theme TAB
the darkclean theme is not listed.How can I register it for Emacs 24?
-
Terrence Brannon about 12 yearshere is darkclean.el - github.com/metaperl/emacs/blob/master/themes/darkclean.el
-
Tim S. almost 10 yearsFYI using el-get doesn't require manually updating your load-paths. I've verified mine got updated automatically with
C-h v RET custom-theme-load-path
. -
ocodo almost 10 years@TimS. many themes will add themselves to the
custom-theme-load-path
automatically when installed (most newer/well maintained ones will at least.). The script above just adds those that don't. There's nothing in the el-get source itself which appears to do anything with thecustom-theme-load-path
, go ahead and grep it. -
Tim S. almost 10 yearsyeah, what I meant to say was that many themes installed will auto-update the path, not el-get itself... my mistake. Thanks.
-
Renato Cassino about 7 yearsThanks for this :D
-
FrostedCookies about 3 yearsAhh did the trick! Thanks, was pulling my hair out why my theme couldn't be found until I saw you just had to add -theme to the end. Thanks a million!