Toggling light/dark Solarized color theme in Emacs 23
I never write about Emacs because I’m such a n00b and most of my ELisp “programming” has consisted of pasting random code from the Internet into my ~/.emacs file and hoping it works. But finally today I wrote a lick of it and it worked!
I’ve been using Ethan Schoonover’s obsessively comfortable “Solarized” color scheme for a while now, but I’ve become annoyed how many keys I have to mash to switch from light to dark. So I set a global variable to track the current state and mapped Ctrl-c, d (which I at least wasn’t using) to a function to toggle between the two states.
(when window-system ;; ColorTheme - see http://www.emacswiki.org/cgi-bin/wiki/ColorTheme ;; and see gallery at http://www.cs.cmu.edu/~maverick/GNUEmacsColorThemeTest/ ;; try also M-x color-theme-select (message "loading color-theme") (add-to-list 'load-path "~/.emacs.d/color-theme-6.6.0") (require 'color-theme) ;; Ethan Schoonover's Solarized theme from ;; https://github.com/sellout/emacs-color-theme-solarized (load-file "~/.emacs.d/emacs-colors-solarized/color-theme-solarized.el") ;; Set initial theme to "dark" (setq dark-or-light 'dark) (color-theme-solarized dark-or-light) ;; Shortcut to toggle between light and dark (global-set-key (kbd "C-c d") (lambda () (interactive) (if (eq dark-or-light 'light) (setq dark-or-light 'dark) (setq dark-or-light 'light) ) (color-theme-solarized dark-or-light))) )
And ooh, I just found this awesome crash course on Elisp by Steve Yegge which I will certainly consult next time I have a reason to write my own (i.e., I can’t paste it from some random Internet).
And then after it was all over I finally found some instructions for doing it which would’ve been easy enough to paste. Ah well, I’ve learned something.