• Stars
    star
    733
  • Rank 61,835 (Top 2 %)
  • Language
    Emacs Lisp
  • License
    GNU General Publi...
  • Created over 11 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A customizable colorful eye-candy theme for Emacser. Moe, moe, kyun!

moe-theme

Screenshot

What Special?

Most basic:

  1. Optimized for terminal’s 256 color palettes.
  2. Dark & Light

And more:

  1. Carefully-considered & reasonable colors
  2. Delightful & good-looking color palettes™
  3. Customizable
    • Optional Monokai / Tomorrow for syntax-highlighting (or totally customize by yourself)
    • Mode-line / Powerline color
    • Titles font sizes for .
  4. Fully-supported for each modes:
    • 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
    • ……etc

Requirements

  • Emacs 25.3 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-title-markdown '(1.5 1.4 1.3 1.2 1.0 1.0))
(setq moe-theme-resize-title-org '(1.5 1.4 1.3 1.2 1.1 1.0 1.0 1.0 1.0))
(setq moe-theme-resize-title-rst '(1.5 1.4 1.3 1.2 1.1 1.0))

;; Choose a color for modeline.(Default: blue)
(setq moe-theme-modeline-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 customization moe-dark-theme & moe-light-theme.*

So, if you just want to use load-theme to apply ONLY moe-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-title-markdown '(2.0 1.7 1.5 1.3 1.0 1.0))
(setq moe-theme-resize-title-org '(2.2 1.8 1.6 1.4 1.2 1.0 1.0 1.0 1.0))
(setq moe-theme-resize-title-rst '(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.

Change Color of Mode-line (or Powerline)

(setq moe-theme-modeline-color 'orange)
;; (Available colors: blue, orange, green ,magenta, yellow, purple, red, cyan, w/b.)

You can also use M-x moe-theme-modeline-select-color to change color interactively.

Or M-x moe-theme-modeline-random-color to have a good luck.

Powerline support

Now moe-theme supports Powerline. Run powerline-moe-theme if powerline installed.

(powerline-moe-theme)

Frenquently Asked Problems

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 or zsh, add following line into your ~/.bashrc or ~/.zshrc:
    export TERM=xterm-256color
        
  • Or if you are using Konsole, navigate to Edit 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"
        

Parenthesis Is Hard To Read?

I recommend set the value of show-paren-style to expression for better visual experience:

(show-paren-mode t)
(setq show-paren-style 'expression)

Known Issues

  • If you add (moe-dark) or (moe-light) to your init file, the color of buffer-id would be incorrect after startuping CLI Emacs(but if you M-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).

License

moe-theme.el (include images) is released under GPL v3.

More Repositories

1

copy-as-org-mode

A Firefox Add-on (WebExtension) to copy selected web page into Org-mode formatted text!
TypeScript
179
star
2

tldr.el

tldr client for Emacs
Emacs Lisp
132
star
3

hexo.el

Use Hexo in Emacs elegantly
Emacs Lisp
85
star
4

Furiganaize

A browser extension allowing the injection of phonetic annotations for Japanese text (furigana) on the fly.
JavaScript
56
star
5

fsc.el

Fuck the Speeching Censorship!
Emacs Lisp
35
star
6

takahashi.js

Make Takahashi-style slide easily!
JavaScript
31
star
7

copy-as-org-mode-legacy-firefox

[Legacy Firefox] Copy Link, Image and Table in Page as Org-mode Format!
JavaScript
28
star
8

.emacs.d

ˊ・ω・ˋ Emacs~~
Emacs Lisp
26
star
9

ta.el

Deal with homophonic Chinese characters. 受夠了「她他它祂牠」這種發音統統都是「tatatatata」的同音字?
Emacs Lisp
19
star
10

moedict.el

Moe Dictionary client for Emacs. 萌典 Emacs 版客戶端
Emacs Lisp
18
star
11

kaomoji.el

┌(┌ ^o^)┐ホモォ... Insert kaomoji (顔文字) easily
Emacs Lisp
16
star
12

cakecrumbs.el

Show parent-chain on header for HTML / Jade / Pug / LESS / SCSS / Sass / Stylus
Emacs Lisp
16
star
13

writing-utils.el

Some small tools for writing articles in Emacs.
Emacs Lisp
9
star
14

BooruShinshi

A WebExtension to download image with comprehensible filename from Booru page in one click.
TypeScript
8
star
15

zhongli-lang

用中文寫壢斯波(Lisp)!
Emacs Lisp
8
star
16

yajade-mode.el

Yet another Emacs major-mode for Jade / Pug
Emacs Lisp
7
star
17

fm-bookmarks.el

Access existed File Managers' bookmarks (e.g. Dolphin, Nautilus, PCManFM) in Dired.
Emacs Lisp
5
star
18

EngineSwitcher

A WebExtension let you switch search engine in one click.
TypeScript
5
star
19

stardict-flashcard

A flashcard program based on sdcv. Never waste time on making flashcard files anymore ˊ・ω・ˋ
Python
3
star
20

webext-copy-selected-links-as-csv

A WebExtension which can running on Firefox for Android, specially designed for Android App @Voice Aloud Reader (TTS Reader) (https://play.google.com/store/apps/details?id=com.hyperionics.avar).
TypeScript
3
star
21

open-recipe

My personal recipe notebook.
2
star
22

question_tsc_dts

TypeScript
2
star
23

recentz.el

A minimalized, KISS replacement of `recentf`
Emacs Lisp
1
star
24

PurpleLogViewer

a simple GUI chat log viewer for libpurple / Pidgin
C++
1
star
25

noto-multi-lang-with-css

Noto Sans with `unicode-range:` multi-languages supporting CSS definition for lazy-loading. (Latin, Cyrillic, Greek, CJK, Arabic, Hebrew)
CSS
1
star