Files
emacs/settings/theme-settings.el
2025-07-06 21:41:07 +02:00

116 lines
6.8 KiB
EmacsLisp
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
;;; theme-settings.el --- Theme settings -*- mode: emacs-lisp; lexical-binding: t -*-
;;; Commentary:
;; Requirements:
;; spacemacs-theme https://github.com/nashamri/spacemacs-theme
;; emojify https://melpa.org/#/emojify
;; Fonts:
;; Source Han Mono (debian fonts-noto-cjk-extra)
;; Asana Math (debian texlive-fonts-extra)
;;; Code:
(use-package my-theme
:config
(setq spacemacs-theme-comment-bg nil)
(load-theme 'spacemacs-dark t)
(load-theme 'my t))
(use-package my-tool-bar
:config
(my-tool-bar-mode 1))
;; Test char and monospace:
;; 1234567890abcdefghijklmnopqrstuvwxyz [] () :;,. !@#$^&*
;; 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ {} <> "'` ~-_/|\?
;; FULLWIDTH LATIN SMALL LETTER X
;; FULLWIDTH LATIN CAPITAL LETTER X
;; ⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇ PARENTHESIZED DIGIT X, PARENTHESIZED NUMBER X
;; ⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵ PARENTHESIZED LATIN SMALL LETTER X
;; 🄐🄑🄒🄓🄔🄕🄖🄗🄘🄙🄚🄛🄜🄝🄞🄟🄠🄡🄢🄣🄤🄥🄦🄧🄨🄩 PARENTHESIZED LATIN CAPITAL LETTER X
;; ①②③④⑤⑥⑦⑧⑨⓪ ⓵⓶⓷⓸⓹⓺⓻⓼⓽ CIRCLED DIGIT X, DOUBLE CIRCLED DIGIT ONE
;; ❶❷❸❹❺❻❼❽❾  ➊➋➌➍➎➏➐➑➒🄌 DINGBAT NEGATIVE CIRCLED DIGIT X, DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT X
;; ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ CIRCLED LATIN SMALL LETTER X
;; ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ CIRCLED LATIN CAPITAL LETTER X
;; 🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩 NEGATIVE CIRCLED LATIN CAPITAL LETTER X
;; 🄰🄱🄲🄳🄴🄵🄶🄷🄸🄹🄺🄻🄼🄽🄾🄿🅀🅁🅂🅃🅄🅅🅆🅇🅈🅉 SQUARED LATIN CAPITAL LETTER X
;; 🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃🆄🆅🆆🆇🆈🆉 🆊 NEGATIVE SQUARED LATIN CAPITAL LETTER X
;; 𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃 MATHEMATICAL BOLD SCRIPT SMALL X
;; 𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩 MATHEMATICAL BOLD SCRIPT CAPITAL X
;; ✈↵#↹⏎⇤⇥␣↑↓←→ ☐☑ ⃝⃞⃟⃠ ⦾⦿⧇⧈
;; :rage::hamburger:
;; ◉○✸✿ 
;; box drawing alignment tests: █
;; ▉
;; ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳
;; ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳
;; ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳
;; ╠╡ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
;; ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎
;; ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏
;; ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█
;; see M-x describe-char
(set-face-font 'default (font-spec :family "FiraCode Nerd Font" :size 13))
;; (set-fontset-font FONTSET CHARACTERS FONT-SPEC &optional FRAME ADD)
;; CHARACTERS see `script-representative-chars' and
;; list-character-sets and list-charset-chars for the list of
;; character sets and their characters.
;; (list-charset-chars 'unicode-bmp)
;; defind by all the icons?
;; (set-fontset-font t '(#x2600 . #x27bf) (font-spec :family "D2CodingLigature Nerd Font"))
;; (set-fontset-font t '(#xe000 . #xeea0) (font-spec :family "icons-in-terminal") nil 'prepend)
;; '(#xeea1 . #xf1ff) "FiraCode Nerd Font"
;; (set-fontset-font t '(#xf200 . #xf3ff) (font-spec :family "Font Awesome 6 Free")) ;; #xf3xx wild mix
;; (set-fontset-font t '(#xf400 . #xfd46) (font-spec :family "MesloLGS NF"))
;; (setq use-default-font-for-symbols t)
;; (setq use-default-font-for-symbols nil) ;; t use default face, nil use fontset
;; see `fontset-alias-alist'
;; (fontset-name-p "fontset-default")
;; (fontset-name-p "fontset-standard")
;; (cond
;; ((find-font (font-spec :name "Iosevka Nerd Font"))
;; (set-frame-font (font-spec :name "Iosevka Nerd Font" :size 13)))
;; ((find-font (font-spec :name "Source Code Pro medium"))
;; (set-frame-font (font-spec :name "Source Code Pro medium" :size 13)))
;; ((find-font (font-spec :name "DejaVu Sans Mono"))
;; (set-frame-font (font-spec :name "DejaVu Sans Mono" :size 13)))
;; ((find-font (font-spec :name "Noto Sans Mono")) ;; parentheses moving
;; (set-frame-font (font-spec :name "Noto Sans Mono" :size 13)))
;; ((find-font (font-spec :name "Source Han Mono"))
;; (set-frame-font (font-spec :name "Source Han Mono" :size 12)))
;; ((find-font (font-spec :name "inconsolata"))
;; (set-frame-font (font-spec :name "inconsolata" :size 16)))
;; ((find-font (font-spec :name "Lucida Console"))
;; (set-frame-font "Lucida Console-10"))
;; ((find-font (font-spec :name "courier")) ;; is breathing if underline is displayed dynamically
;; (set-frame-font (font-spec :name "courier" :size 14))))
(use-package nerd-icons
:defer t
;; example usage
;; - Inserts an icon for Emacs Lisp
;; (insert (nerd-icons-icon-for-file "init.el"))
;; - Inserts a Gitlab icon
;; (insert (nerd-icons-faicon "nf-fa-gitlab"))
;; :config
;; The Nerd Font you want to use in GUI
;; "Symbols Nerd Font Mono" is the default and is recommended
;; but you can use any other Nerd Font if you want
;; (setq nerd-icons-font-family "Symbols Nerd Font Mono")
;; (nerd-icons-set-font)
)
(use-package emojify
:if window-system
:commands emojify-mode
;; :hook (after-init . global-emojify-mode)
:init
(setq emojify-emojis-dir (concat user-emacs-directory ".cache/emojify")))
(provide 'theme-settings)
;;; theme-settings.el ends here