(if window-system
(when sd/fixed-font-family
(set-frame-font sd/fixed-font-family)
- (set-face-attribute 'default nil :font sd/fixed-font-family :height 120)
+ (set-face-attribute 'default nil :font sd/fixed-font-family :height 140)
(set-face-font 'default sd/fixed-font-family)))
#+END_SRC
#+END_SRC
-** Mode-line
+* Mode-line
+
+** clean mode line
clean mode line, Refer to [[https://www.masteringemacs.org/article/hiding-replacing-modeline-strings][Marstering Emacs]]
;; default is SP
(smartparens-mode . "")
;; default is LR
- (linum-mode . "")
+ (linum-relative-mode . "")
+ ;; default is ARev
+ (auto-revert-mode . "")
+ ;; default is Ind
+ (org-indent-mode . "")
;; Major modes
(lisp-interaction-mode . "λ")
(hi-lock-mode . "")
(python-mode . "Py")
(emacs-lisp-mode . "EL")
+ (eshell-mode . "ε")
(nxhtml-mode . "nx"))
"Alist for `clean-mode-line'.
(add-hook 'after-change-major-mode-hook 'clean-mode-line)
#+END_SRC
+** Powerline mode
+
+Install powerline mode [[https://github.com/milkypostman/powerline][powerline]]
+
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(use-package powerline
:ensure t
:config
- (powerline-center-theme))
+ ;; (powerline-center-theme)
+ )
;; (use-package smart-mode-line
;; :ensure t)
;; :ensure t)
#+END_SRC
+Revised powerline-center-theme
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (defun sd/powerline-simpler-vc (s)
+ (if s
+ (replace-regexp-in-string "Git[:-]" "" s)
+ s))
+
+ (defun sd/powerline-center-theme_revised ()
+ "Setup a mode-line with major and minor modes centered."
+ (interactive)
+ (setq-default mode-line-format
+ '("%e"
+ (:eval
+ (let* ((active (powerline-selected-window-active))
+ (mode-line-buffer-id (if active 'mode-line-buffer-id 'mode-line-buffer-id-inactive))
+ (mode-line (if active 'mode-line 'mode-line-inactive))
+ (face1 (if active 'powerline-active1 'powerline-inactive1))
+ (face2 (if active 'powerline-active2 'powerline-inactive2))
+ (separator-left (intern (format "powerline-%s-%s"
+ (powerline-current-separator)
+ (car powerline-default-separator-dir))))
+ (separator-right (intern (format "powerline-%s-%s"
+ (powerline-current-separator)
+ (cdr powerline-default-separator-dir))))
+ (lhs (list (powerline-raw "%*" mode-line 'l)
+ ;; (powerline-buffer-size mode-line 'l)
+ (powerline-buffer-id mode-line-buffer-id 'l)
+ (powerline-raw " ")
+ (funcall separator-left mode-line face1)
+ (powerline-narrow face1 'l)
+ ;; (powerline-vc face1)
+ (sd/powerline-simpler-vc (powerline-vc face1))
+ ))
+ (rhs (list (powerline-raw global-mode-string face1 'r)
+ (powerline-raw "%4l" face1 'r)
+ (powerline-raw ":" face1)
+ (powerline-raw "%3c" face1 'r)
+ (funcall separator-right face1 mode-line)
+ (powerline-raw " ")
+ (powerline-raw "%6p" mode-line 'r)
+ (powerline-hud face2 face1)))
+ (center (list (powerline-raw " " face1)
+ (funcall separator-left face1 face2)
+ (when (and (boundp 'erc-track-minor-mode) erc-track-minor-mode)
+ (powerline-raw erc-modified-channels-object face2 'l))
+ (powerline-major-mode face2 'l)
+ (powerline-process face2)
+ (powerline-raw " :" face2)
+ (powerline-minor-modes face2 'l)
+ (powerline-raw " " face2)
+ (funcall separator-right face2 face1))))
+ (concat (powerline-render lhs)
+ (powerline-fill-center face1 (/ (powerline-width center) 2.0))
+ (powerline-render center)
+ (powerline-fill face1 (powerline-width rhs))
+ (powerline-render rhs)))))))
+
+ (sd/powerline-center-theme_revised)
+#+END_SRC
+
Fix the issue in mode line when showing triangle
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
(setq ns-use-srgb-colorspace nil)
+#+END_SRC
+
+set height in mode line
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+
+ (custom-set-variables
+ '(powerline-height 14)
+ '(powerline-text-scale-factor 0.8))
+ ;; 100/140
+ (set-face-attribute 'mode-line nil :height 100)
#+END_SRC
#+END_SRC
-** Task Management
+** Get Things Done
+
+Refer to [[http://doc.norang.ca/org-mode.html][Organize Your Life in Plain Text]]
+*** basic setup
+
+standard key binding
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (global-set-key "\C-cl" 'org-store-link)
+ (global-set-key "\C-ca" 'org-agenda)
+ (global-set-key "\C-cb" 'org-iswitchb)
+#+END_SRC
+
+*** Plain List
+
+Replace the list bullet =-=, =+=, with =•=, a litter change based [[https://github.com/howardabrams/dot-files/blob/master/emacs-org.org][here]]
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package org-mode
+ :init
+ (font-lock-add-keywords 'org-mode
+ '(("^ *\\([-+]\\) "
+ (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•")))))))
+#+END_SRC
+
+*** Todo Keywords
+
+refer to [[http://coldnew.github.io/coldnew-emacs/#orgheadline94][fancy todo states]],
+
+To track TODO state changes, the =!= is to insert a timetamp, =@= is to insert a note with
+timestamp for the state change.
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ ;; (setq org-todo-keywords
+ ;; '((sequence "☛ TODO(t)" "|" "✔ DONE(d)")
+ ;; (sequence "⚑ WAITING(w)" "|")
+ ;; (sequence "|" "✘ CANCELLED(c)")))
+ ; (setq org-todo-keyword-faces
+ ; (quote ("TODO" . (:foreground "red" :weight bold))
+ ; ("NEXT" . (:foreground "blue" :weight bold))
+ ; ("WAITING" . (:foreground "forest green" :weight bold))
+ ; ("DONE" . (:foreground "magenta" :weight bold))
+ ; ("CANCELLED" . (:foreground "forest green" :weight bold))))
+
+
+ (setq org-todo-keywords
+ (quote ((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
+ ;; (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)" "PHONE" "MEETING")
+ (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c@/!)" ))))
+
+ (setq org-todo-keyword-faces
+ (quote (("TODO" :foreground "red" :weight bold)
+ ("NEXT" :foreground "blue" :weight bold)
+ ("DONE" :foreground "forest green" :weight bold)
+ ("WAITING" :foreground "orange" :weight bold)
+ ("HOLD" :foreground "magenta" :weight bold)
+ ("CANCELLED" :foreground "forest green" :weight bold)
+ ;; ("MEETING" :foreground "forest green" :weight bold)
+ ;; ("PHONE" :foreground "forest green" :weight bold)
+ )))
+#+END_SRC
+
+*** Agenda Setup
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (setq org-agenda-files (quote ("~/org/plan.org"
+ "~/org/test.org")))
+#+END_SRC
** Capture
** others
-refer to [[http://coldnew.github.io/coldnew-emacs/#orgheadline94][fancy todo states]]
-
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
- (setq org-todo-keywords '((sequence "☛ TODO(t)" "|" "✔ DONE(d)")
- (sequence "⚑ WAITING(w)" "|")
- (sequence "|" "✘ CANCELED(c)")))
-
-#+END_SRC
-
extend org-mode's easy templates, refer to [[http://coldnew.github.io/coldnew-emacs/#orgheadline94][Extend org-modes' esay templates]]
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(add-to-list 'org-structure-template-alist
- '("E" "#+BEGIN_SRC emacs-lisp\n?\n#+END_SRC"))
+ '("E" "#+BEGIN_SRC emacs-lisp :tangle yes :results silent\n?\n#+END_SRC"))
(add-to-list 'org-structure-template-alist
'("S" "#+BEGIN_SRC sh\n?\n#+END_SRC"))
(add-to-list 'org-structure-template-alist