Files
.emacs.d/lisp/init-ui.el
andsy10 aa4dea523e style(config): Reformat Emacs Lisp code for consistency
Standardize formatting across multiple init files: expand
single-line use-package keywords onto separate lines, fix
indentation, remove outdated comments, and clean up whitespace. Also
adds mc/keymap <return> binding and improves fcitx5 startup logic in
EXWM.
2026-05-11 03:40:06 +08:00

135 lines
3.6 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.
;;; init-ui.el --- ui and other style customization cofig -*- lexical-binding: t -*-
;;; Commentary:
;;; Code:
;; 设置系统编码
(when (fboundp 'set-charset-priority)
(set-charset-priority 'unicode))
(if *is-windows*
(progn
(set-language-environment 'chinese-gbk)
(prefer-coding-system 'utf-8-auto))
(progn
(set-language-environment "UTF-8")
(prefer-coding-system 'utf-8)))
;; 预览所有可用emacs颜色
(defun my-color-picker ()
"Pick a color with preview."
(interactive)
(let* ((colors (defined-colors))
(choice (completing-read
"Color: "
(mapcar (lambda (c)
(propertize
(format "%-20s %s" c "████")
'face `(:foreground ,c)))
colors))))
(string-trim (car (split-string choice)))))
;; org-mode美化
(use-package olivetti
:init
(add-hook 'olivetti-mode-hook
(lambda ()
(display-line-numbers-mode -1)))
(add-hook 'org-mode-hook
(lambda ()
(olivetti-mode 1))))
;; rainbow mode
(use-package rainbow-mode)
;; rainbow-delimiters
(use-package rainbow-delimiters)
;; 自定义主题路径
(add-to-list 'custom-theme-load-path "~/.emacs.d/lisp/")
;; 信任所有主题
(setq custom-safe-themes t)
;; 安装solarized dark
(use-package solarized-theme)
;; 把主题加载延迟到frame创建之后防止daemon模式下宏不能正常展开
(if (daemonp)
(add-hook 'after-make-frame-functions
(lambda (frame)
(with-selected-frame frame
(load-theme 'my-base16-dark t))))
(load-theme 'my-base16-dark t))
;; 很多主题
;; (use-package doom-themes)
;; (use-package color-theme-modern)
(use-package naysayer-theme)
;; eshell高亮
(use-package eshell-syntax-highlighting
:hook
(eshell-mode . eshell-syntax-highlighting-global-mode))
(add-hook 'eshell-mode-hook
(lambda ()
(setenv "TERM" "xterm-256color")
(setenv "COLORTERM" "truecolor")
(add-to-list 'eshell-output-filter-functions 'eshell-handle-ansi-color t)
(setq-local eshell-prefer-lisp-functions nil)
(setenv "LS_COLORS"
"di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46")
(setenv "GIT_CONFIG_GLOBAL" (expand-file-name "~/.emacs.d/.gitconfig-eshell"))))
;; 缩进线
(use-package indent-bars
:custom
(indent-bars-color '(font-lock-comment-face :face-bg nil :blend 0.4))
(indent-bars-highlight-current-depth '(:face default :blend 0.4))
(indent-bars-pattern ".")
(indent-bars-width-frac 0.1)
(indent-bars-pad-frac 0.1)
(indent-bars-color-by-depth nil)
(indent-bars-no-descend-string t)
(indent-bars-prefer-character t))
;; 高亮当前行
(global-hl-line-mode t)
;; 显示文件大小
(size-indication-mode t)
;; 显示行号列号
(column-number-mode t)
;; 显示时间
(setq display-time-default-load-average nil)
(display-time-mode t)
;; 添加个人字体到 cnfonts
(setq cnfonts-personal-fontnames
'(("Sarasa Fixed TC") ; 英文字体
("Sarasa Fixed TC") ; 中文字体
nil ; Ext-B 字体(可选)
nil ; Symbol 字体(可选)
nil)) ; 装饰字体(可选)
;; 安装cnfonts脚本用于修复中英文对齐
(use-package cnfonts
:hook
(after-init-hook . cnfonts-mode)
:config
(cnfonts--select-profile "profile1"))
;; 主题修复脚本
(defun fix-theme-colors ()
"Fix invalid color name in theme files."
(interactive)
(load-file (expand-file-name "~/.emacs.d/lisp/fix-theme-colors.el")))
(provide 'init-ui)
;;; init-ui.el ends here