GitHub - kuanyui/moe-theme.el: A customizable colorful eye-candy theme for Emacs...
source link: https://github.com/kuanyui/moe-theme.el
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
moe-theme
Table of Contents
- moe-theme
Screenshot
What Special?
- 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-theme
by local time! (optional)
Support
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
- Rainbow-delimiters
- Swoop
- Twittering-mode
- undo-tree / Neotree
- Ruby / Haskell / CPerl / Tuareg / Web-mode
- ......and More!
Requirements
- Emacs 24 or above.
- 256-colors (or higher) terminal.
Download
Via package.el
Moe-theme
is available in MELPA repository now, so you can install moe-theme
easily with M-x
list-packages
.
Manually
Download the archive of moe-theme
(or 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)
Customizations
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.
Note
Notice that the file
moe-theme.el
is NOT a theme file, but it provide the ability for customizationmoe-dark-theme
&moe-light-theme
.So, if you just want to use
load-theme
to apply ONLYmoe-theme
itself 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)
Resize Titles
You may want to resize titles in markdown-mode
, org-mode
, or ReStructuredText-mode
:
;; 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
(moe-dark)
or(moe-light)
.
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-light)
or (moe-dark)
:
(moe-theme-set-color 'orange)
;; (Available colors: blue, orange, green ,magenta, yellow, purple, red, cyan, w/b.)
You can also use M-x
moe-theme-select-color
to change color interactively.
Mayby you'll like M-x
moe-theme-random-color
, too; which gives you a random mood :D.
Powerline
Now moe-theme
supports Powerline, which makes mode-line looks fabulous! We recommended installing powerline
and run powerline-moe-theme
.
Make sure that
(require 'powerline)
must be placed before(require 'moe-theme)
. Otherwise,powerline-moe-theme
will not be initallized.
You can add this line to your init file:
(powerline-moe-theme)
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 (moe-light)
or (moe-dark)
:
(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 (moe-light)
or (moe-dark)
:
(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-dark
and moe-light
according to the system time:
(require 'moe-theme-switcher)
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 t
)
If this value is nil
, moe-theme-switcher
will switch theme at fixed time (06:00 and 18:00).
If this value is t
and both calendar-latitude
and 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)
Notes
No 256-Color Output?
If your terminal emulator doesn't render 256-color output correctly, set its environment variable TERM
to xterm-256color
. For example:
-
If you are using
bash
orzsh
, add following line into your~/.bashrc
or~/.zshrc
:export TERM=xterm-256color
-
Or if you are using
Konsole
, navigate toEdit Current Profile > General > Environment > Edit
and add the following line:TERM=xterm-256color
-
If you're using
tmux
and it cannot display in 256-color correctly, add this to~/.tmux.conf
, too:set -g default-terminal "screen-256color"
Paren
If you use Emacs build-in show-paren-mode
, I recommend set the value of show-paren-style
to expression
for optimized visual experience:
(show-paren-mode t) (setq show-paren-style 'expression)
Not supported the mode(s) you're using?
Can't bear a mode with an ugly looking? moe-theme
doesn't support the mode you like? It's welcome to report wishlist or issue on github, I'll try to add related settings as soon as possible. Or of course, you can push request, too. We need your feedback!
Known Issues
- If you add
(moe-dark)
or(moe-light)
to your init file, the color ofbuffer-id
would be incorrect after startuping CLI Emacs(but if youM-x moe-dark/light
again, it would be corrected immediately). I don't know why, but this issue doesn't occur in GUI version Emacs. (Tested on GNU Emacs 24.3.90.1 2014-04-11) - When using
moe-light
and 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).
Todo
- Minor mode for
moe-theme-switcher
.
License
moe-theme.el
(include images) is released under GPL v3. Copyleft is so cute!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK