Configuring Themes

There are two common methods used to configure themes in Emacs.

  • 1. You can use the customize-themes framework, accessible through the menu bar: -> options -> customize emacs -> custom-themes.
  • 2. You can use a custom configuration file.

The first option records theme settings you make through the menu bar customization framework, accessed with M-x customize, in a file called custom.el, then loads that file on start-up.

With the second option, you get simplicity and clarity about what is where, but you need to rename custom.el and never load it.

Garbage.el



(setq custom-file "~/.emacs.d/garbage.el")
;keep it simple: don't use or load the custom file
;(load custom-file)

Now you can set-up functions to change themes on the fly. You only need to overwrite the custom faces when you change them.

Theme-Setup

You can add custom faces, then your file-types will display with custom colors.



;loaded elsewhere, or no longer required
;(require 'font-lock)
;(add-to-list 'load-path font-lock+-p)
;(require 'font-lock+);copy/paste to path

; change face of filetypes (.org)
(use-package dired-filetype-face

:init
(require 'dired-filetype-face)

:config
;define a new face
;(deffiletype-face "mytype" "#02478e")
(deffiletype-face "mytype" "#02478e")
;(deffiletype-face "mytype" "#008080")

;attach new face name to filetype
(deffiletype-face-regexp mytype
     :extensions '("org") :type-for-docstring "my type")
;attach with regexp to match permissions, filetype size, and date

;(deffiletype-face-regexp mytype
;:regexp "^  -.*\\.\\(foo\\|bar\\)$" :type-for-docstring "my type")
; attach new face to filetype

(deffiletype-setup "mytype" "mytype")

);end dired-filetype-face

Theme Setup Company-Mode

You can swap company box colors every time you change themes with company-box-frame-parameters.

Use replace-element-in-list to move the last element to the first element.





(setq pbg-swap '(background-color . "#F2FBDE"))
(setq pfg-swap '(foreground-color . "#1b1d1e"))

(and (not (equal pbg-color pbg-swap)) (not (equal pfg-color pfg-swap))
(progn
(replace-element-in-list pbg-color pbg-swap  company-box-frame-parameters)
(replace-element-in-list pfg-color pfg-swap  company-box-frame-parameters)
));end check frame swap loop

(setq pbg-color '(background-color . "#F2FBDE"))
(setq pfg-color '(foreground-color . "#1b1d1e"))

Replace-Element-in-List


;use this to set then change company frame parameters

(defun replace-element-in-list (old new xs)
  (let ((tail  (member old xs)))
    (while tail
      (setcar tail new)
      (setq tail  (member old tail))))
  xs)

Reset Themes


Every time you change themes, you can call a reset function.


;reset themes
(defun reset-themes ()
(interactive)
(progn
(mapc #'disable-theme custom-enabled-themes);disable all themes, revert to default theme
(set-face-attribute 'default nil :family "Consolas" :height 150) ; change font
));end reset-themes

Solarized Themes


Screenshot: Solarized-Dark


Emacs solarized dark theme, poseidon-customization


Screenshot: Solarized-Light


Emacs solarized light theme, poseidon-customization


Here's the code:

Open Color-Theme-SanityInc-Solorized



;solarized

(use-package color-theme-sanityinc-solarized

:commands Directive

You can trigger functions to load your theme configuration code.



:commands (Appearance_/load-solarized-light Appearance_/load-solarized-dark load-solarized-light load-solarized-dark)

:init Directive

Declare the functions you triggered in your configuration initialization.




:init


(defun load-solarized-light ()
(interactive)
(progn
(reset-themes)
(load-theme 'sanityinc-solarized-light t)
(stylize-solarized-light)
))

(defun load-solarized-dark()
(interactive)
(progn
(reset-themes)
(load-theme 'sanityinc-solarized-dark t)
(stylize-solarized-dark)
));end load solarized-dark

:config Directive

Your configuration will load when you run any triggered functions.




:config

Stylize-Solarized-Light

stylize-solarized-light() will be ready to run when load-solarized-light() calls it. You can change any colors you like.




(defun stylize-solarized-light ()
(interactive)
(progn

;tab bar
;(set-face-attribute 'tab-bar nil :background "#fdf6e3" :foreground "#808080" :box '(:line-width 1 :color "#808080" :style pressed-button))
(set-face-attribute 'tab-bar nil :background "#fdf6e3" :foreground "#808080" :box '(:line-width 1 :color "#808080" :style pressed-button))
(set-face-attribute 'tab-bar-tab-inactive nil :background "#fdf6e3" :foreground "#808080" :underline nil :box '(:line-width 1 :color "#808080" :style pressed-button))
(set-face-attribute 'tab-bar-tab nil :background "#fdf6e3" :foreground "#EA0E0E" :width 'expanded :box  '(:line-width 4 :color "#EA0E0E" :style unpressed-button))

;dired
(set-face-attribute 'all-the-icons-dired-dir-face nil :background "#F2FBDE" :foreground "#1797c5")
(set-face-attribute 'dired-filetype-execute nil :background "#fdf6e3" :foreground "#1797c5")
(set-face-attribute 'dired-filetype-xml nil :background "#fdf6e3" :foreground "#843031")
(set-face-attribute 'dired-filetype-js nil :background "#fdf6e3" :foreground "#2C942C" :weight 'normal)
(set-face-attribute 'dired-filetype-common nil :background "#fdf6e3" :foreground "#EA0E0E")
(set-face-attribute 'dired-filetype-image nil :background "#fdf6e3" :foreground "#a32020")
(set-face-attribute 'dired-filetype-source nil :background "#fdf6e3" :foreground "#a61fde")
(set-face-attribute 'dired-filetype-link nil :background "#fdf6e3" :foreground "#d02b61")
(set-face-attribute 'dired-filetype-plain nil :background "#fdf6e3" :foreground "#9054f0")
(set-face-attribute 'diredp-dir-name nil :background "#F2FBDE" :foreground "#0b0b0b")
(set-face-attribute 'dired-filetype-mytype nil :background "#fdf6e3" :foreground "#ff6fff")

;font lock
(set-face-attribute 'font-lock-comment-face nil :background "#F2FBDE" :foreground "#1797c5")
(set-face-attribute 'font-lock-function-name-face nil :background "#F2FBDE" :foreground "#ff7518")
(set-face-attribute 'font-lock-builtin-face nil :background "#F2FBDE" :foreground "#a32020")
(set-face-attribute 'font-lock-string-face nil :background "#F2FBDE" :foreground "#b5006a")
(set-face-attribute 'font-lock-keyword-face nil :background "#F2FBDE" :foreground "#EA0E0E")

;org-block
(set-face-attribute 'default nil :background "#fdf6e3")
;org
(set-face-attribute 'org-document-title nil :background "#fdf6e3" :foreground "#EA0E0E")
(set-face-attribute 'org-block nil :background "#F2FBDE" :foreground "#0b0b0b" :extend t)
(set-face-attribute 'org-block-begin-line nil :background "#fdf6e3" :foreground "#5e6687")
(set-face-attribute 'org-block-end-line nil :background "#fdf6e3" :foreground "#5e6687")
(set-face-attribute 'org-level-1 nil :background "#fdf6e3" :foreground "#1e9ab0")
(set-face-attribute 'org-level-2 nil :background "#fdf6e3" :foreground "#b5006a")
(set-face-attribute 'org-level-3 nil :background "#fdf6e3" :foreground "#2C942C")
;(set-face-attribute 'org-code nil :background "#e8f1d4" :foreground "#0b0b0b")
(set-face-attribute 'org-meta-line nil :background "#fdf6e3" :foreground "#123555")
(set-face-attribute 'org-ellipsis nil :background "#fdf6e3" )


;default
;(set-face-attribute 'highlight-parentheses-highlight nil :background "#e8f1d4" :foreground "#061229")
(set-face-attribute 'region nil :background "#e8f1d4" :foreground "#061229" :inherit nil)
;show parens
(set-face-attribute 'show-paren-match nil :background "#e8f1d4" :foreground "#061229" :inherit nil)
(set-face-attribute 'show-paren-match-expression nil :background "#e8f1d4" :foreground "#061229" :inherit nil)
;webmode
(set-face-attribute 'web-mode-html-attr-value-face nil :background "#fdf6e3" :foreground "#2C942C")
(set-face-attribute 'web-mode-comment-face nil :background "#fdf6e3" :foreground "#608fb1")
(set-face-attribute 'web-mode-html-attr-name-face nil :background "#fdf6e3" :foreground "#3c5be9")
(set-face-attribute 'web-mode-style-face nil :background "#fdf6e3" :foreground "#a61fde")
(set-face-attribute 'web-mode-variable-name-face nil :background "#fdf6e3" :foreground  "#3c5be9")
(set-face-attribute 'web-mode-html-attr-name-face nil :background "#fdf6e3" :foreground "#3c5be9")
(set-face-attribute 'web-mode-script-face nil :background "#fdf6e3" :foreground "#b77fdb" )
(set-face-attribute 'web-mode-html-tag-face nil :background "#fdf6e3"  :foreground "#dc322f")
(set-face-attribute 'web-mode-current-element-highlight-face nil :background "#cfe8cf" :foreground "#dc322f")
(set-face-attribute 'web-mode-current-column-highlight-face nil :background "#cfe8cf" :foreground "#1b1d1e")
(set-face-attribute 'web-mode-html-tag-bracket-face nil :background "#fdf6e3" :foreground "#dc322f")
;hydra-posframe
(set-face-attribute 'hydra-posframe-border-face nil :background "#fdf6e3"  :foreground "#e8f1d4" :inherit nil)
(set-face-attribute 'hydra-posframe-face nil :background "#fdf6e3"  :foreground "#1b1d1e" :inherit nil)
(set-face-attribute 'pretty-hydra-toggle-off-face nil :background "#fdf6e3" :foreground "#2C942C")
(set-face-attribute 'pretty-hydra-toggle-on-face nil :background "#fdf6e3" :foreground "#2C942C")

;rainbow-delimeters
(set-face-attribute 'rainbow-delimiters-unmatched-face nil :background "#fdf6e3"  :foreground "#d02b61" )
(set-face-attribute 'rainbow-delimiters-mismatched-face nil :background "#fdf6e3"  :foreground "#2C942C")

;company-backgro9und
(set-face-attribute 'company-tooltip nil :background "#F2FBDE"  :foreground "#1b1d1e" :inherit nil)
(set-face-background 'company-tooltip "#F2FBDE")
(set-face-foreground 'company-tooltip "#1b1d1e")
(setq pbg-swap '(background-color . "#F2FBDE"))
(setq pfg-swap '(foreground-color . "#1b1d1e"))
(and (not (equal pbg-color pbg-swap)) (not (equal pfg-color pfg-swap))

(progn
(replace-element-in-list pbg-color pbg-swap  company-box-frame-parameters)
(replace-element-in-list pfg-color pfg-swap  company-box-frame-parameters)
));end check frame swap loop

(setq pbg-color '(background-color . "#F2FBDE"))
(setq pfg-color '(foreground-color . "#1b1d1e"))
;company

(set-face-attribute 'company-tooltip-common t :background "#F2FBDE"  :foreground "#268bd2" :inherit nil )
(set-face-attribute 'company-box-candidate t :background "#F2FBDE"  :foreground "#99bf52" :inherit nil)
(set-face-attribute 'company-box-annotation t :background "#F2FBDE"  :foreground "#B3D96C" :inherit nil)
(set-face-attribute 'company-tooltip-common-selection t :background "#F2FBDE"  :foreground "#99bf52" :inherit nil)
(set-face-attribute 'company-box-selection t :background "#F2FBDE"  :foreground "#263145" :inherit nil )
;(set-face-attribute 'company-box-scrollbar t :background "#263145" :foreground "#d02b61" :inherit nil)
;neo

(set-face-attribute 'neo-file-link-face nil :background "#fdf6e3" :foreground "#8D8D84")
(set-face-attribute 'neo-dir-link-face nil :background "#fdf6e3" :foreground "#0000FF")
(set-face-attribute 'neo-root-dir-face nil :background "#fdf6e3" :foreground "#BA36A5")
(set-face-attribute 'neo-root-dir-face nil :background "#fdf6e3" :foreground "#fff")
;rainbow identifiers

(set-face-attribute 'rainbow-identifiers-identifier-1 nil  :background "#fdf6e3" :foreground "#ff6fff")
(set-face-attribute 'rainbow-identifiers-identifier-2 nil  :background "#fdf6e3" :foreground "#2C942C")
(set-face-attribute 'rainbow-identifiers-identifier-3 nil  :background "#fdf6e3" :foreground "#b5006a")
(set-face-attribute 'rainbow-identifiers-identifier-4 nil  :background "#fdf6e3" :foreground "#5B6268")
(set-face-attribute 'rainbow-identifiers-identifier-5 nil  :background "#fdf6e3" :foreground "#0C4EA0")
(set-face-attribute 'rainbow-identifiers-identifier-6 nil  :background "#fdf6e3" :foreground "#99bf52")
(set-face-attribute 'rainbow-identifiers-identifier-7 nil  :background "#fdf6e3" :foreground "#a61fde")
(set-face-attribute 'rainbow-identifiers-identifier-8 nil  :background "#fdf6e3" :foreground "#dddddd")
(set-face-attribute 'rainbow-identifiers-identifier-9 nil  :background "#fdf6e3" :foreground "#00aa80")
(set-face-attribute 'rainbow-identifiers-identifier-11 nil  :background "#fdf6e3" :foreground "#bbfc20")
(set-face-attribute 'rainbow-identifiers-identifier-12 nil  :background "#fdf6e3" :foreground "#6c9ef8")
(set-face-attribute 'rainbow-identifiers-identifier-13 nil  :background "#fdf6e3" :foreground "#dd8844")
(set-face-attribute 'rainbow-identifiers-identifier-14 nil  :background "#fdf6e3" :foreground "#991613")
(set-face-attribute 'rainbow-identifiers-identifier-15 nil  :background "#fdf6e3" :foreground "#dddddd")
;zoom

(setq zoom-window-mode-line-color "#e8f1d4")
;calendar
;(set-face-attribute 'cfw:face-title nil :background "#081530" :foreground "#bbfc20" :height 3 :weight 'bold)
(set-face-attribute 'cfw:face-header nil :background "#e5e5e5" :foreground "#d0bf8f" )
(set-face-attribute 'cfw:face-sunday nil :background "#e5e5e5" :foreground "#991613" :weight 'bold)
(set-face-attribute 'cfw:face-saturday nil :background "#e5e5e5" :foreground "#b5006a" :weight 'bold)
(set-face-attribute 'cfw:face-holiday nil :background "#fdf6e3" :foreground "#06c6f5" :weight 'bold)
(set-face-attribute 'cfw:face-grid nil :foreground "DarkGrey")
(set-face-attribute 'cfw:face-default-content nil :foreground "#bfebbf")
(set-face-attribute 'cfw:face-periods nil :foreground "cyan")
(set-face-attribute 'cfw:face-day-title nil :background "#fdf6e3" )
(set-face-attribute 'cfw:face-default-day nil :weight 'bold :inherit 'cfw:face-day-title)
(set-face-attribute 'cfw:face-annotation nil :foreground "RosyBrown" :inherit  'cfw:face-day-title)
(set-face-attribute 'cfw:face-disable nil :foreground "DarkGray" :inherit 'cfw:face-day-title)
(set-face-attribute 'cfw:face-today-title nil :background "#bbfc20" :weight 'bold)
(set-face-attribute 'cfw:face-today nil :background "#bbfc20" :weight 'bold)
(set-face-attribute 'cfw:face-select nil :background "#bbfc20")
(set-face-attribute 'cfw:face-toolbar nil :background "#fdf6e3" :foreground "Steelblue4" )
(set-face-attribute 'cfw:face-toolbar-button-off nil :background "#fdf6e3" :foreground "#5B6268" :weight 'bold)
(set-face-attribute 'cfw:face-toolbar-button-on nil :background "#fdf6e3" :foreground "#608fb1" :weight 'bold)

);end progn
);end stylize-solarized-light

Stylized-Solarized-Dark

stylize-solarized-dark() will be ready to run when load-solarized-dark() calls it. You can change any colors you like.




(defun stylize-solarized-dark ()
(interactive)
(progn
;tab bar
(set-face-attribute 'tab-bar nil :background "#063541" :foreground "#839496" :box '(:line-width 1 :color "#839496" :style pressed-button))
(set-face-attribute 'tab-bar-tab-inactive nil :background "#063541" :foreground "#839496" :underline nil :box '(:line-width 1 :color "#839496" :style pressed-button))
(set-face-attribute 'tab-bar-tab nil :background "#063541" :foreground "#d33682" :width 'expanded :box  '(:line-width 1 :color "#839496" :style pressed-button))
;dired
(set-face-attribute 'all-the-icons-dired-dir-face nil :background "#002b36" :foreground "#4682b4")
(set-face-attribute 'dired-filetype-execute nil :background "#002b36" :foreground "#3c5be9")
(set-face-attribute 'dired-filetype-xml nil :background "#002b36" :foreground "#2eade2")
(set-face-attribute 'dired-filetype-js nil :background "#002b36" :foreground "#bbfc20")
(set-face-attribute 'dired-filetype-common nil :background "#002b36" :foreground "#EA0E0E")
(set-face-attribute 'dired-filetype-image nil :background "#002b36" :foreground "#dc322f")
(set-face-attribute 'dired-filetype-source nil :background "#002b36" :foreground "#2C942C")
(set-face-attribute 'dired-filetype-link nil :background "#002b36" :foreground "#b5006a")
(set-face-attribute 'dired-filetype-plain nil :background "#002b36" :foreground "#00afaf")
(set-face-attribute 'diredp-dir-name nil :background "#002b36" :foreground "#e8f1d4")
(set-face-attribute 'dired-filetype-mytype nil :background "#002b36" :foreground "#ff6fff")
;font-lock
(set-face-attribute 'font-lock-comment-face nil :background "#002b36" :foreground "#586e75")
;(set-face-attribute 'font-lock-function-name-face nil :background "#002b36" :foreground "#5f6368")
(set-face-attribute 'font-lock-builtin-face nil :background "#002b36" :foreground "#608fb1")

(set-face-attribute 'default nil :background "#002b36")

;org
(set-face-attribute 'org-document-title nil :background "#002b36" :foreground "#99bf52")
(set-face-attribute 'org-block-end-line nil :background "#002b36" :foreground "#839496")
(set-face-attribute 'org-block-begin-line nil :background "#002b36" :foreground "#839496")
(set-face-attribute 'org-todo nil :background "#002b36" )
;(set-face-attribute 'shadow nil :background "#002b36" :foreground "#dddddd")
(set-face-attribute 'org-block nil :background "#002b36" :foreground "#839496" :inherit nil :weight 'light)
(set-face-attribute 'org-level-1 nil :background "#002b36" :foreground "#2eade2")
(set-face-attribute 'org-level-2 nil :background "#002b36" :foreground "#99bf52")
(set-face-attribute 'org-level-3 nil :background "#002b36" :foreground "#ff6fff")
(set-face-attribute 'org-level-4 nil :background "#002b36" :foreground "#b5006a")
(set-face-attribute 'org-meta-line nil :background "#002b36" :foreground "#839496")
(set-face-attribute 'org-ellipsis nil :background "#002b36" )

;(set-face-attribute 'org-code nil     :inherit '(shadow fixed-pitch))
;(set-face-attribute 'org-table nil    :inherit '(shadow fixed-pitch))
;(set-face-attribute 'org-formula nil  :inherit 'fixed-pitch)
;(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
;(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
;(set-face-attribute 'org-checkbox nil  :inherit 'fixed-pitch)
;(set-face-attribute 'line-number nil :inherit 'fixed-pitch)
;(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch)

;default
;(set-face-attribute 'highlight-parentheses-highlight nil :background "#e8f1d4" :foreground "#061229")
(set-face-attribute 'region nil :background "#004850" :foreground "#d9d6cf")
;show parens
(set-face-attribute 'show-paren-match nil :background "#004850" :foreground "#d9d6cf" :inherit nil)
(set-face-attribute 'show-paren-match-expression nil :background "#004850" :foreground "#d9d6cf" :inherit nil)

;webmode
(set-face-attribute 'web-mode-html-attr-value-face nil :background "#002b36" :foreground "#99bf52")
(set-face-attribute 'web-mode-comment-face nil :background "#002b36" :foreground "#608fb1")
(set-face-attribute 'web-mode-html-attr-name-face nil :background "#002b36" :foreground "#3c5be9")
(set-face-attribute 'web-mode-style-face nil :background "#002b36" :foreground "#a61fde")
(set-face-attribute 'web-mode-variable-name-face nil :background "#002b36" :foreground  "#3c5be9")
(set-face-attribute 'web-mode-html-attr-name-face nil :background "#002b36" :foreground "#3c5be9")
(set-face-attribute 'web-mode-script-face nil :background "#002b36" :foreground "#b77fdb" )
(set-face-attribute 'web-mode-html-tag-face nil :background "#002b36" :foreground "#dc322f")
(set-face-attribute 'web-mode-current-element-highlight-face nil :background "#004850" )
(set-face-attribute 'web-mode-current-column-highlight-face nil :background "#004850" :foreground "#839496")
(set-face-attribute 'web-mode-html-tag-bracket-face nil :background "#002b36" :foreground "#839496")

;hydra-posframe
(set-face-attribute 'hydra-posframe-border-face nil :background "#ffffff"  :foreground "#ffffff" )
(set-face-attribute 'hydra-posframe-face nil :background "#002b36"  :foreground "#dddddd" :inherit nil)
;rainbow-delimeters
(set-face-attribute 'rainbow-delimiters-unmatched-face nil :background "#002b36"  :foreground "#c61b6e")
(set-face-attribute 'rainbow-delimiters-mismatched-face nil :background "#002b36"  :foreground "#2C942C")
;company-backgro9und
(set-face-attribute 'company-tooltip nil :background "#004850"  :foreground "#ffffff" :inherit nil)
(set-face-background 'company-tooltip "#004850")
(set-face-foreground 'company-tooltip "#ffffff")

(setq pbg-swap '(background-color . "#004850"))
(setq pfg-swap '(foreground-color . "#ffffff"))

(and (not (equal pbg-color pbg-swap)) (not (equal pfg-color pfg-swap))
(progn
(replace-element-in-list pbg-color pbg-swap  company-box-frame-parameters)
(replace-element-in-list pfg-color pfg-swap  company-box-frame-parameters)
));end check frame swap loop

(setq pbg-color '(background-color . "#004850"))
(setq pfg-color '(foreground-color . "#ffffff"))
;company

(set-face-attribute 'company-tooltip-common t :background "#004850"  :foreground "#4682b4" :inherit nil )
(set-face-attribute 'company-box-candidate t :background "#004850"  :foreground "#ffffff" :inherit nil)
(set-face-attribute 'company-box-annotation t :background "#004850"  :foreground "#608fb1" :inherit nil)
;(set-face-attribute 'company-tooltip-common-selection t :background "#005077"  :foreground "#99bf52" :inherit nil)
(set-face-attribute 'company-box-selection t :background "#005077"  :foreground "#dddddd" :inherit nil )
;(set-face-attribute 'company-box-scrollbar t :background "#004850" :foreground "#d02b61" :inherit nil)

;company background
; hydra faces

(set-face-attribute 'pretty-hydra-toggle-off-face nil :background "#002b36" :foreground "#4682b4" :inherit nil)
(set-face-attribute 'pretty-hydra-toggle-on-face nil :background "#002b36" :foreground "#4682b4" :inherit nil)
;neo

(set-face-attribute 'neo-file-link-face nil :background "#002b36" :foreground "#8D8D84")
(set-face-attribute 'neo-dir-link-face nil :background "#002b36" :foreground "#0000FF")
(set-face-attribute 'neo-root-dir-face nil :background "#002b36" :foreground "#BA36A5")
(set-face-attribute 'neo-root-dir-face nil :background "#002b36" :foreground "#fff")

;rainbow identifiers
(set-face-attribute 'rainbow-identifiers-identifier-1 nil  :background "#002b36" :foreground "#ff6fff")
(set-face-attribute 'rainbow-identifiers-identifier-2 nil  :background "#002b36" :foreground "#2C942C")
(set-face-attribute 'rainbow-identifiers-identifier-3 nil  :background "#002b36" :foreground "#b5006a")
(set-face-attribute 'rainbow-identifiers-identifier-4 nil  :background "#002b36" :foreground "#5B6268")
(set-face-attribute 'rainbow-identifiers-identifier-5 nil  :background "#002b36" :foreground "#0C4EA0")
(set-face-attribute 'rainbow-identifiers-identifier-6 nil  :background "#002b36" :foreground "#99bf52")
(set-face-attribute 'rainbow-identifiers-identifier-7 nil  :background "#002b36" :foreground "#a61fde")
(set-face-attribute 'rainbow-identifiers-identifier-8 nil  :background "#002b36" :foreground "#dddddd")
(set-face-attribute 'rainbow-identifiers-identifier-9 nil  :background "#002b36" :foreground "#00aa80")
(set-face-attribute 'rainbow-identifiers-identifier-11 nil  :background "#002b36" :foreground "#bbfc20")
(set-face-attribute 'rainbow-identifiers-identifier-12 nil  :background "#002b36" :foreground "#6c9ef8")
(set-face-attribute 'rainbow-identifiers-identifier-13 nil  :background "#002b36" :foreground "#dd8844")
(set-face-attribute 'rainbow-identifiers-identifier-14 nil  :background "#002b36" :foreground "#991613")
(set-face-attribute 'rainbow-identifiers-identifier-15 nil  :background "#002b36" :foreground "#dddddd")

;zoom
(setq zoom-window-mode-line-color "#004850")
;(set-face-attribute 'cfw:face-title nil :background "#002b36" :foreground "#bbfc20" :height 3 :weight 'bold)
(set-face-attribute 'cfw:face-header nil :background "#002b36" :foreground "#bbfc20" )
(set-face-attribute 'cfw:face-sunday nil :foreground "#b5006a" :background "#002b36" :weight 'bold)
(set-face-attribute 'cfw:face-saturday nil :foreground "#b5006a" :background "#002b36"  :weight 'bold)
(set-face-attribute 'cfw:face-holiday nil :background "#002b36" :foreground "#06c6f5" :weight 'bold)
(set-face-attribute 'cfw:face-grid nil :foreground "DarkGrey")
;(set-face-attribute 'cfw:face-default-content nil :foreground "#bfebbf")
(set-face-attribute 'cfw:face-periods nil :foreground "cyan")
(set-face-attribute 'cfw:face-day-title nil :background "#002b36" )
(set-face-attribute 'cfw:face-default-day nil :weight 'bold :inherit 'cfw:face-day-title)
(set-face-attribute 'cfw:face-annotation nil :foreground "RosyBrown" :inherit  'cfw:face-day-title)
(set-face-attribute 'cfw:face-disable nil :foreground "DarkGray" :inherit 'cfw:face-day-title)
(set-face-attribute 'cfw:face-today-title nil :background "#004850" :weight 'bold)
(set-face-attribute 'cfw:face-today nil :background "#004850" :weight 'bold)
(set-face-attribute 'cfw:face-select nil :background "#bbfc20")
(set-face-attribute 'cfw:face-toolbar nil :foreground "Steelblue4" :background "#002b36")
(set-face-attribute 'cfw:face-toolbar-button-off nil :background "#002b36" :foreground "#5B6268" :weight 'bold)
(set-face-attribute 'cfw:face-toolbar-button-on nil :background "#002b36" :foreground "#608fb1" :weight 'bold)
);end progn
);end stylize-solarized-dark

;(load-theme 'color-theme-sanityinc-solarized t)

Close Color-Theme-SanityInc-Solorized



);end use-package color-theme-sanityinc-solorized

Modeline Defaults

You can set some defaults on your modeline:



;modeline
(setq line-number-mode t)
(setq column-number-mode t)
(size-indication-mode 1)
;(display-time-mode)

Doom Mode Line


You can use the Doom Themes modeline also.


;doom-mode-line
(use-package doom-modeline
;:commands doom-modeline
:config
;(setq doom-modeline-height 25)
;
;(setq doom-modeline-minor-modes (featurep 'minions))
;;(doom-modeline-buffer-file-name-style 'truncate-except-project)
;(mode-line ((t (:height 0.85))))
;  (mode-line-inactive ((t (:height 0.85))))
(setq doom-modeline-buffer-file-name-style 'buffer-name)
;(doom-modeline-set-timemachine-modeline)
;(doom-modeline-set-info-modeline)
;(doom-modeline-set-modeline 'dashboard)
;(doom-modeline-set-modeline 'project)
(doom-modeline-set-modeline 'main)
;(doom-modeline-set-modeline 'minimal)
;(doom-modeline-set-modeline 'package)
;(setq doom-modeline-bar-width 3)
(setq doom-modeline-display-default-persp-name t)
(setq doom-modeline-enable-wordcount t)
;(setq doom-modeline-window-width-limit 140)
;(doom-modeline t)
:hook
(after-init . doom-modeline-mode)
);end doom-modeline



(doom-modeline-def-modeline 'my-simple-line
    '(bar matches buffer-info remote-host buffer-position parrot selection-info)
    '(misc-info minor-modes input-method buffer-encoding major-mode process vcs checker))

(defun setup-custom-doom-modeline ()
     (doom-modeline-set-modeline 'my-simple-line 'default))
  (add-hook 'doom-modeline-mode-hook 'setup-custom-doom-modeline)

Sky-Color-Clock

Then you can add sky-color-clock.



(use-package sky-color-clock

;  :commands sky-color-clock

:init

(setq calendar-longitude your-longitude)
(setq calendar-latitude your-latitude)
(setq calendar-location-name "Your Location Name")

:preface
  (eval-when-compile
    (require 'solar)
    (require 'time))

:config
(sky-color-clock-initialize 49)

(sky-color-clock-initialize-openweathermap-client "your-free-openweathermap-api-key" your-openweathermap-city-id)
(setq sky-color-clock-enable-emoji-icon t)
(setq sky-color-clock-format "%B %d %-l:%M %p")

(add-to-list 'global-mode-string '(:eval (sky-color-clock)))

(display-time-mode -1)
(setq sky-color-clock-enable-temperature-indicator nil)
)

Startup Hook With Theme

You can launch a theme when Emacs starts with a startup hook.




;loads phd at start of emacs
(add-hook 'after-init-hook (lambda()
;(load-theme 'base16-phd  t)
(require 'company-box)
(initialize-company-frame-parameters)
(load-Iosvkem)
;(load-leuven)
;(load-operandi)
));end after-init-hook