Latest version is under inactive development. I haven't finished it indeed, however, I personally have already used it for quite a long time.
Currently free time is precious for me, to rest from work, to learn foreign languages, to study Harmony & Voice Leading, to compose, to practice piano and violin, to exercise. So I will not spend more massive time on this project for any large modification. I've ever spent too much time on this project before to hold more passion and patience to write merely a color theme, even not an application. (You will not believe how much it is if you has never done such tedious task for EACH mode and find a color balances manually for them) I think it's enough now.
If you want to try or help to QA the latest development version, see
If you want to make
moe-themesupports more modes, please send a PR (but be aesthetic; too ugly color balance will be rejected.^^||| ). Currently I honestly has no more free time and passion on such a tedious time-costing trial-and-error task.
The last but not the least, thanks for your using and happy hacking!
Table of Contents
- What Special?
- Have A Good Mood Today?
- Known Issues
- Optimized for terminal's 256 color palettes.
- Black-on-white & white-on-black.
- Delightful and cheerful color palettes.
- Quite completed (and reasonable) font faces for each mode.
- Easy to customize!
- Colorful Mode-line / Powerline.
- Enlarge titles font sizes or not.
- Automatically switch between dark and light
moe-themeby local time! (optional)
moe-theme.el provide good-looking™ and quite fully-supported font-faces for various modes, include:
- Diff / EDiff
- Dired / Dired+
- ERC / rcirc
- Eshell / Ansi-term
- Gnus / Message
- Helm / ido
- Org-mode / Agenda / calfw
- Magit / Git-commit / Git-gutter
- Markdown-mode / ReStructText-mode
- Auto-complete-mode / Company
- undo-tree / Neotree
- Ruby / Haskell / CPerl / Tuareg / Web-mode
- ......and More!
- Emacs 24 or above.
- 256-colors (or higher) terminal.
Moe-theme is available in MELPA repository now, so you can install
moe-theme easily with
Download the archive of
git clone it) to
~/.emacs.d/moe-theme.el and extract it. Then, add these to your init file:
;;customize theme (add-to-list 'custom-theme-load-path "~/.emacs.d/moe-theme.el/") (add-to-list 'load-path "~/.emacs.d/moe-theme.el/") (require 'moe-theme)
It's impossible to satisfy everyone with one fixed theme, but
moe-theme provide some easy ways to customize itself.
There's a full customization example:
;; If you want to use powerline, (require 'powerline) must be ;; before (require 'moe-theme). (add-to-list 'load-path "~/.emacs.d/PATH/TO/powerline/") (require 'powerline) ;; Moe-theme (add-to-list 'custom-theme-load-path "~/.emacs.d/PATH/TO/moe-theme/") (add-to-list 'load-path "~/.emacs.d/PATH/TO/moe-theme/") (require 'moe-theme) ;; Show highlighted buffer-id as decoration. (Default: nil) (setq moe-theme-highlight-buffer-id t) ;; Resize titles (optional). (setq moe-theme-resize-markdown-title '(1.5 1.4 1.3 1.2 1.0 1.0)) (setq moe-theme-resize-org-title '(1.5 1.4 1.3 1.2 1.1 1.0 1.0 1.0 1.0)) (setq moe-theme-resize-rst-title '(1.5 1.4 1.3 1.2 1.1 1.0)) ;; Choose a color for mode-line.(Default: blue) (moe-theme-set-color 'cyan) ;; Finally, apply moe-theme now. ;; Choose what you like, (moe-light) or (moe-dark) (moe-light)
If you have any question about settings, go on and read following README to get more detailed information first.
Notice that the file
moe-theme.elis NOT a theme file, but it provide the ability for customization
So, if you just want to use
load-themeto apply ONLY
moe-themeitself and without customizations, you can skip "Customizations" chapter and just use this:(add-to-list 'custom-theme-load-path "~/.emacs.d/PATH/TO/moe-theme/") (load-theme 'moe-dark t) ;;or (load-theme 'moe-light t)
You may want to resize titles in
;; Resize titles (setq moe-theme-resize-markdown-title '(2.0 1.7 1.5 1.3 1.0 1.0)) (setq moe-theme-resize-org-title '(2.2 1.8 1.6 1.4 1.2 1.0 1.0 1.0 1.0)) (setq moe-theme-resize-rst-title '(2.0 1.7 1.5 1.3 1.1 1.0))
Markdown should have 6 items; org has 9 items; rst has 6 items.
Make sure that these resizing settings should be placed before
The values should be lists. Larger the values, larger the fonts. If you don't like this, just leave them nil, and all the titles will be the same size.
Colorful Mode-line and Powerline
Tired of boring blue mode-line? You can set default mode-line color. moe-theme provides 9 colors mode-line style. Add following lines after
(moe-theme-set-color 'orange) ;; (Available colors: blue, orange, green ,magenta, yellow, purple, red, cyan, w/b.)
You can also use
moe-theme-select-color to change color interactively.
Mayby you'll like
moe-theme-random-color, too; which gives you a random mood :D.
moe-theme supports Powerline, which makes mode-line looks fabulous! We recommended installing
powerline and run
Make sure that
(require 'powerline)must be placed before
(require 'moe-theme). Otherwise,
powerline-moe-themewill not be initallized.
You can add this line to your init file:
Too Yellow Background?
With 256-colors terminal, default yellow background of moe-light may be too yellow and harsh to eyes on some screens.
If you encounter this problem, and want to set background color to
#ffffff in terminal, set the value of
moe-light-pure-white-background-in-terminal to t. Add this line before
(setq moe-light-pure-white-background-in-terminal t)
Highlight Buffer-id on Mode-line?
You may be dislike default highlight on mode-line-buffer-id, now it can be disable by setting the value of
moe-theme-highlight-buffer-id to nil. Add this line before
(setq moe-theme-highlight-buffer-id nil)
Have A Good Mood Today?
I prefer a terminal with a black-on-white color scheme. I found that in the daytime, sunlight is strong and black-on-white is more readable; However, white-on-black would be less harsh to the eyes at night.
So if you like, you can add the following line to your
~/.emacs to automatically switch between
moe-light according to the system time:
By adding the line above, your Emacs will have a light theme in the day and a dark one at night. =w=+
Live in Antarctica?
Daytime is longer in summer but shorter in winter; or you live in a high latitude region which midnight-sun or polar-night may occur such as Finland or Antarctica?
There's a variable
moe-theme-switch-by-sunrise-and-sunset would solve your problem (default value is
If this value is
moe-theme-switcher will switch theme at fixed time (06:00 and 18:00).
If this value is
t and both
calendar-longitude are set properly, the switching will be triggered at the sunrise and sunset time of the local calendar.
Take "Keelung, Taiwan" (25N,121E) for example, you can set like this:
(setq calendar-latitude +25) (setq calendar-longitude +121)
No 256-Color Output?
If your terminal emulator doesn't render 256-color output correctly, set its environment variable
xterm-256color. For example:
If you are using
zsh, add following line into your
Or if you are using
Konsole, navigate to
Edit Current Profile > General > Environment > Editand add the following line:
If you're using
tmuxand it cannot display in 256-color correctly, add this to
set -g default-terminal "screen-256color"
If you use Emacs build-in
show-paren-mode, I recommend set the value of
expression for optimized visual experience:
(show-paren-mode t) (setq show-paren-style 'expression)
- If you add
(moe-light)to your init file, the color of
buffer-idwould be incorrect after startuping CLI Emacs(but if you
M-x moe-dark/lightagain, it would be corrected immediately). I don't know why, but this issue doesn't occur in GUI version Emacs. (Tested on GNU Emacs 22.214.171.124 2014-04-11)
- When using
moe-lightand typing characters under terminal emulator (e.g. Konsole) with IM (e.g. fcitx), the string embedded in Emacs may be very insignificant (But as you output the word from IM, it turns normal).
- Minor mode for
moe-theme.el (include images) is released under GPL v3. Copyleft is so cute!