From 19f8527a5d6e2a2a9ddb263c2700ac96e7976c28 Mon Sep 17 00:00:00 2001 From: syl20bnr Date: Mon, 15 Apr 2013 11:12:39 -0400 Subject: [PATCH] Add keybindings to switch between themes for day and night. --- init.el | 22 ++++++++++++---------- my-funcs.el | 15 +++++++++++++++ my-keybindings.el | 2 ++ packages.el | 4 ++-- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/init.el b/init.el index c780c4e4f..8bd6a6ff6 100644 --- a/init.el +++ b/init.el @@ -32,12 +32,18 @@ (add-to-list 'load-path user-emacs-directory) (add-to-list 'load-path user-extensions-directory) -;; Emacs built-ins configuration ============================================== -(progn (when (file-exists-p user-config-directory) - (dolist (l (directory-files user-config-directory nil "^[^#].*el$")) - (load (concat user-config-directory l))))) +(defun load-user-config () + (progn (when (file-exists-p user-config-directory) + (dolist (l (directory-files user-config-directory nil "^[^#].*el$")) + (load (concat user-config-directory l)))))) +(defun load-host-config () + (progn (when (file-exists-p host-directory) + (dolist (l (directory-files host-directory nil "^[^#].*el$")) + (load (concat host-directory l)))))) ;; Setup ====================================================================== + +(load-user-config) (require 'my-funcs) (require 'my-macros) (require 'pre-extensions) @@ -45,11 +51,7 @@ (require 'post-extensions) (require 'my-keybindings) (require 'my-keychords) +(load-host-config) -;; Host specific configuration ================================================ -(progn (when (file-exists-p host-directory) - (dolist (l (directory-files host-directory nil "^[^#].*el$")) - (load (concat host-directory l))))) - -;; Customization settings ===================================================== +;; Customized settings ===================================================== (require 'custom-settings) diff --git a/my-funcs.el b/my-funcs.el index 7c581fb66..6f4a2c18b 100644 --- a/my-funcs.el +++ b/my-funcs.el @@ -159,3 +159,18 @@ argument takes the kindows rotate backwards." (buffer-name)))) (provide 'my-funcs) + + +;; Theme management +;; from http://stackoverflow.com/questions/9900232/changing-color-themes-emacs-24-order-matters +(defadvice load-theme + (before theme-dont-propagate activate) + (mapcar #'disable-theme custom-enabled-themes) + (load-user-config) + (load-host-config)) +(defun load-theme-day () + (interactive) + (load-theme 'solarized-light)) +(defun load-theme-night () + (interactive) + (load-theme 'solarized-dark)) diff --git a/my-keybindings.el b/my-keybindings.el index 3871934c0..03fe48415 100644 --- a/my-keybindings.el +++ b/my-keybindings.el @@ -140,6 +140,8 @@ (evil-leader/set-key "tf" 'fringe-mode) (evil-leader/set-key "th" 'auto-highlight-symbol-mode) (evil-leader/set-key "tn" 'global-linum-mode) +(evil-leader/set-key "ttd" 'load-theme-day) +(evil-leader/set-key "ttn" 'load-theme-night) ;; selection ------------------------------------------------------------------ (evil-leader/set-key "v" 'er/expand-region) ;; window --------------------------------------------------------------------- diff --git a/packages.el b/packages.el index bda673e97..e5181203c 100644 --- a/packages.el +++ b/packages.el @@ -2,7 +2,7 @@ (setq package-archives '(("ELPA" . "http://tromey.com/elpa/") ("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.milkbox.net/packages/") - ;; ("marmalade" . "http://marmalade-repo.org/packages/") + ("marmalade" . "http://marmalade-repo.org/packages/") ("melpa" . "http://melpa.milkbox.net/packages/") ("technomancy" . "http://repo.technomancy.us/emacs/"))) (package-initialize) @@ -53,7 +53,7 @@ nose org p4 - ;; paredit + paredit powerline popup projectile