emacs set font type of mode line
[dotfiles.git] / emacs.d / config / init-color-theme.el
index e28f044..8d72ee7 100644 (file)
 (setq ns-use-srgb-colorspace nil)
 
 (require 'color-theme)
-;(load-theme 'tango-dark)
-;(require 'moe-theme)
-;(moe-dark)
 
-
-;(add-to-list 'custom-theme-load-path "~/.emacs.d/el-get/color-theme-tangotango")
-;(load-theme 'tangotango t)
 (load-theme 'cyberpunk t)
 
-;(require 'color-theme-sanityinc-tomorrow)
-;(color-theme-sanityinc-tomorrow-bright)
-
-
-
-;(add-to-list 'load-path "~/.emacs.d/vendor/emacs-powerline")
+(require 'evil)
 (require 'powerline)
-;(powerline-default-theme)
 ;(require 'powerline-evil)
 
-;(defconst color1 "#6b8e23")
-;(defconst color2 "#eedd82")
-
-;(make-face 'mode-line-color-1)
-;(set-face-attribute 'mode-line-color-1 nil
-;                    :foreground "#fffacd"
-;                    :bold t
-;                    :background color1)
 
-;(make-face 'mode-line-color-2)
-;(set-face-attribute 'mode-line-color-2 nil
-;                    :foreground "#fffacd"
-;                    :bold t
-;                    :background color2)
 
-
-;;(defface powerline-active2 '((t (:background "grey40" :inherit mode-line)))
-;;  "Powerline face 2."
-;;  :group 'powerline)
-;;
-
-
-;; https://github.com/howardabrams/dot-files/blob/master/emacs-mode-line.org
-;;;(custom-set-faces
-;;; '(mode-line-buffer-id ((t (:foreground "#008000" :bold t))))
-;;; '(which-func ((t (:foreground "#008000"))))
-;;; '(mode-line ((t (:foreground "#008000" :background "#dddddd" :box nil))))
-;;; '(mode-line-inactive ((t (:foreground "#008000" :background "#bbbbbb" :box nil)))))
+;(set-face-attribute 'mode-line nil :font "Source Code Pro for Powerline-10")
 
 ;;; this variable should equal as height in mode-line
-(custom-set-variables
- '(powerline-text-scale-factor 0.85))
+;;;;;(custom-set-variables
+;;;;; '(powerline-text-scale-factor 0.85))
 
 (custom-set-faces
- '(mode-line ((t (:foreground "#030303" :background "#bdbdbd" :box nil :height 0.8 ))))
- '(mode-line-inactive ((t (:foreground "#f9f9f9" :background "#666666" :box nil :height 0.8)))))
+;;; '(mode-line ((t (:foreground "#030303" :background "#bdbdbd" :box nil :height 0.8 ))))
+;;; '(mode-line-inactive ((t (:foreground "#f9f9f9" :background "#666666" :box nil :height 0.8)))))
+ '(mode-line ((t (:foreground "#030303" :background "#bdbdbd" :box nil  :family "Source Code Pro for Powerline" :height 0.8))))
+ '(mode-line-inactive ((t (:foreground "#f9f9f9" :background "#666666" :box nil :family "Source Code Pro for Powerline" :height 0.8)))))
 
-
-(defface powerline-active00 '((t (:foreground "#030303" :background "#bdbdbd" :box nil )))
+(defface powerline-active00 '((t (:foreground "#030303" :background "#bdbdbd" :box nil :inherit mode-line)))
   "Powerline face 1."
   :group 'powerline)
 
-(defface powerline-inactive00 '((t (:foreground "#f9f9f9" :background "#666666" :box nil )))
+(defface powerline-inactive00 '((t (:foreground "#f9f9f9" :background "#666666" :box nil :inherit mode-line)))
   "Powerline face 1."
   :group 'powerline)
 
-(defface powerline-active11 '((t (:background "grey22" )))
+(defface powerline-active11 '((t (:background "grey22" :inherit mode-line)))
   "Powerline face 1."
   :group 'powerline)
 
-(defface powerline-active22 '((t (:background "grey40" )))
+(defface powerline-active22 '((t (:background "grey40" :inherit mode-line)))
   "Powerline face 2."
   :group 'powerline)
 
-(defface powerline-inactive11
-  '((t (:background "grey11" )))
+(defface powerline-inactive11   '((t (:background "grey11" :inherit mode-line)))
   "Powerline face 1."
   :group 'powerline)
 
-(defface powerline-inactive22
-  '((t (:background "grey20" )))
+(defface powerline-inactive22   '((t (:background "grey20" :inherit mode-line)))
   "Powerline face 2."
   :group 'powerline)
 
 
+;(defface powerline-active-yel '((t (:background "yellow" :inherit mode-line)))
+(defface powerline-active-yel '((t (:background "yellow" :inherit mode-line)))
+  "Powerline face 1."
+  :group 'powerline)
+
+(defface powerline-active-blue '((t (:background "blue" :inherit mode-line)))
+  "Powerline face 1."
+  :group 'powerline)
 
+;;;---------------- evil powerline
+; https://github.com/raugturi/powerline-evil/blob/master/powerline-evil.el
+; ;https://github.com/laynor/emacs-conf/blob/master/packages/sm-package-powerline.el
+;(defface powerline-evil-base-face '((t (:foreground "white" :inherit mode-line)))
+;(defface powerline-evil-base-face '((t (:foreground "black" :weight bold )))
+(defface powerline-evil-base-face '((t (:foreground "black" :weight bold :inherit mode-line)))
+  "Base face for powerline evil faces."
+  :group 'powerline)
 
+(defface powerline-evil-normal-face '((t (:background "green" :inherit powerline-evil-base-face)))
+  "Powerline face for evil NORMAL state."
+  :group 'powerline)
 
+(defface powerline-evil-insert-face '((t (:background "blue" :inherit powerline-evil-base-face)))
+  "Powerline face for evil INSERT state."
+  :group 'powerline)
 
-;(defface powerline-active-yel '((t (:background "yellow" :inherit mode-line)))
-(defface powerline-active-yel '((t (:background "yellow" )))
-  "Powerline face 1."
+(defface powerline-evil-visual-face '((t (:background "orange" :inherit powerline-evil-base-face)))
+  "Powerline face for evil VISUAL state."
   :group 'powerline)
 
-(defface powerline-active-blue '((t (:background "blue" )))
-  "Powerline face 1."
+(defface powerline-evil-operator-face   '((t (:background "cyan" :inherit powerline-evil-base-face)))
+  "Powerline face for evil OPERATOR state."
   :group 'powerline)
 
+(defface powerline-evil-replace-face    '((t (:background "red" :inherit powerline-evil-base-face)))
+  "Powerline face for evil REPLACE state."
+  :group 'powerline)
+
+(defface powerline-evil-motion-face '((t (:background "magenta" :inherit powerline-evil-base-face)))
+  "Powerline face for evil MOTION state."
+  :group 'powerline)
+
+(defface powerline-evil-emacs-face  '((t (:background "violet" :inherit powerline-evil-base-face)))
+  "Powerline face for evil EMACS state."
+  :group 'powerline)
+
+;;(defun powerline-evil-face (active)
+;;  "Function to select appropriate face based on `evil-state'."
+;;  (let* ((face (intern (concat "powerline-evil-" (symbol-name evil-state) "-face"))))
+;;    (if (facep face) face nil)))
+;;
+
+  (defun powerline-evil-face (active)
+    (let ((face (intern (concat "powerline-evil-" (symbol-name evil-state) "-face"))))
+      (cond ((and active (facep face))
+             face)
+            (active 'powerline-active22)
+            (t 'powerline-inactive22))))
+
+  (defpowerline powerline-evil-tag
+    (concat " " (replace-regexp-in-string "[<> ]" "" (eval (evil-state-property evil-state :tag))) " "))
+
+
+
 
 
 ;;
     (replace-regexp-in-string "/Users/peli3/"  "~/" s)
     s))
 
+(defun powerline-evil-tag-new ()
+  (concat (replace-regexp-in-string "[<>]" "" (powerline-evil-tag)) " ")
+  )
+
 (defun powerline-ha-theme ()
   "A powerline theme that removes many minor-modes that don't serve much purpose on the mode-line."
   (interactive)
                          (if active 'powerline-active-yel 'powerline-inactive22))
                         (face-blue
                          (if active 'powerline-active-blue 'powerline-inactive22))
+                         (pl-evil-face (ignore-errors (powerline-evil-face active)))
                         (separator-left
                          (intern
                           (format "powerline-%s-%s" powerline-default-separator
                                   (cdr powerline-default-separator-dir))))
                         (lhs
                             (list
+;;                                (let ((evil-face (powerline-evil-face)))
+;;                                    (if evil-mode
+;;                                            (powerline-raw (powerline-evil-tag) evil-face)
+;;                                    )
+;;
+;;                                )
+                                (powerline-raw (powerline-evil-tag) pl-evil-face )
+                                (and evil-mode (funcall separator-left pl-evil-face face-yel))
+;;                                (powerline-raw (powerline-evil-tag) (powerline-evil-face))
+;;                                (funcall separator-left (powerline-evil-face) face-yel)
+
                                 (powerline-raw "%*" face-yel 'l)
                                 (powerline-buffer-id face-yel 'l)
                                 (powerline-raw " " face-yel)
 
 (powerline-ha-theme)
 
+
+
+;;(let ((faces '(mode-line
+;;               powerline-active00
+;;               powerline-active11
+;;               powerline-active22
+;;               powerline-active-yel
+;;               powerline-active-blue
+;;               mode-line-buffer-id
+;;               mode-line-emphasis
+;;               mode-line-highlight
+;;               mode-line-inactive)))
+;;     (mapc
+;;;      (lambda (face) (set-face-attribute face nil :font "Source Code Pro for Powerline-10"))
+;;      (lambda (face) (set-face-attribute face nil :font "Courier"))
+;;      faces))
+
+
+
 (provide 'init-color-theme)
 
 
+
 ;; TODO
 ;; 1. change color when buffer is modified
 ;; 2. 
+;; show date and time in the right below minibuffer
+