![](https://private-user-images.githubusercontent.com/117019901/246427254-8bc8ca2d-a324-45c2-8786-1534107f26db.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMDMyNzUsIm5iZiI6MTcyNDMwMjk3NSwicGF0aCI6Ii8xMTcwMTk5MDEvMjQ2NDI3MjU0LThiYzhjYTJkLWEzMjQtNDVjMi04Nzg2LTE1MzQxMDdmMjZkYi5naWY_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwNTAyNTVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNzM1M2EyZDQ0MDFhODNjOWE3ZjRiZTQ0MDgzODFiYmY1Njc3MDk5ZDM1NTUxODgwNTdlNzgyZDAwY2ZhMTZmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.qWT3Kdj094hp6w5irOCvbtajBcyDZClNbF5hBbmocAM)
This is not any normal theme that looks “huh”.
This is tailored for Emacs in modern sense, with each element to look distinguishable and go in sync.
There is not much science or principle here, it’s just a theme and its your eyes, if they go in sync, whoami to stop?
As a new theme, I have two things in my mind:
- If community or many users, like the theme, I might go tweak and add more goodies.
- If there is not much appreciation, I might modify and improve some pastel colors.
Packages & Modes
- Vertico, Corfu, Consult, Orderless, Marginalia
- Magit, diff
- Treesit (tree-sitter)
- Org-Modern
- Elfeed
- Flycheck & Flymake
- Info-mode
- Mingus
- Which-key
- Org-mode
- Markdown-mode
- Eww, shr, shrface
- Doom-Modeline
- Rainbow-Delimiters
- Jinx
- Meow
- Avy, sdcv
- Vterm, EAT
- Tabs, Centaur-Tabs
- Solaire-mode
I dont use other packages, PR is well appreciated for other modes.
You can open an issue for requesting a mode
or package
. I will try to implement it, if community likes to.
Theme is available in MELPA.
;; Option 1: Simply do (make sure it is in 'custom-theme-directory')
(load-theme 'haki t)
(set-face-attribute 'haki-region nil :background "#2e8b57" :foreground "#ffffff")
;; Option 2: with 'use-package'
(use-package haki-theme
:demand t
:custom-face
(haki-region ((t (:background "#2e8b57" :foreground "#ffffff"))))
(haki-highlight ((t (:background "#fafad2" :foreground "#000000"))))
:config
(setq
;; If you skip setting this, it will use 'default' font.
haki-heading-font "Comic Mono"
haki-sans-font "Iosevka Comfy Motion"
haki-title-font "Impress BT"
haki-link-font "VictorMono Nerd Font" ;; or Maple Mono looks good
haki-code-font "Maple Mono") ;; inline code/verbatim (org,markdown..)
;; For meow/evil users (change border of mode-line according to modal states)
(add-hook 'post-command-hook #'haki-modal-mode-line)
(load-theme 'haki t))
Since its new, there is not much, but I do have some surprise!
- Since regions cover everywhere, you can customize it to your preference.
Use M-x haki-change-region
to choose and set a color for haki-region
.
To make it persist on sessions, you need to add (setq haki-region "#hexvalue")
- Emacs on Terminal should support 24-bit colors.
It displays all colors for me on foot
terminal.
If you have issue, You can try setting ‘COLORTERM’ environment variable to “true-color” :
export COLORTERM=truecolor
- Heading level will be similar everywhere (org,markdown,eww,shr,info,news..), every heading faces inherit corresponding org-level.
So if you don’t see those styles in any mode, please note that you may have to load
org-mode
. Will try to make it not depend on org-mode if possible.
- For meow/evil users, there is
#'haki-modal-mode-line
which can change the border (:box
) of the mode-line according to the meow-states, with this hook:(add-hook 'post-command-hook #'haki-modal-mode-line)
- Just like a theme, if you are looking to try new font. I can suggest you to check Recursive font I use (fork) them patched with nerd icons in OnePiece style naming, check out Code D Font
- [X] Avoid too much
:inherit
in faces. - [ ] Test full picture on
org-agenda
. - [ ] Make it to not conflict with user’s customization at all.
- Idea is to define-faces
haki-cyan-alt
and use it for all faces. - So user can change anything and not worry about it affecting other faces.
- Idea is to define-faces
- [ ] Work on
magit
faces more. - [ ]
ement
anderc
faces.
- Major revamp, and fixes.
- Fixed lot of inherit faces, fix inherit to not depend on external package.
- Tried to minimize
:inherit
as there should be minimal conflict with user’s customization. - Most of the faces depended on
org-mode
, fixed it. So others may not wait until org-mode is loaded.
There’s always a space for improvement.
- If you want to open an issue, Please attach a pic of the issue state.
- If you want to make a PR, Please attach pic of before and after effects.
This will allow me to consider and evaluate.
- Prot’s themes - I’m a fan of
modus-vivendi
, but it lacked something for me, it simply lead me to create this theme. Nonetheless, Modus themes is a Masterpiece. - Minad - If it were not for his packages, I wouldn’t have loved Emacs this much to create a theme.
Absolute gem! Most of the theme’s customization is based on his packages.
Thank you for the shout out and Appreciations! But note: I have just randomly chosen colors, it is not defined with any criteria.