From 25b247c79deb54825884a802c895d8966671e262 Mon Sep 17 00:00:00 2001 From: Ian Griffin Date: Fri, 6 Oct 2023 17:21:14 +0800 Subject: [PATCH] minor fixes --- init.org.d/30-org.org | 75 +++++++++++++++++++++++++++++++++++++++++ init.org.d/40-fonts.org | 27 +++++++++++++++ init.org.d/50-ui.org | 7 ++-- 3 files changed, 105 insertions(+), 4 deletions(-) create mode 100644 init.org.d/30-org.org create mode 100644 init.org.d/40-fonts.org diff --git a/init.org.d/30-org.org b/init.org.d/30-org.org new file mode 100644 index 0000000..ad3e23a --- /dev/null +++ b/init.org.d/30-org.org @@ -0,0 +1,75 @@ +#+TITLE: Org Mode +This the Mode with multitude of useful features like this configuration being a literate document, +scheduling, and loads of other stuff + +* General Settings +#+begin_src emacs-lisp + (defun org-config-setup () + (variable-pitch-mode) + (visual-line-mode) ;; wrap line + (org-indent-mode) ;; fake indentations + (setq org-hide-leading-stars nil) + (display-line-numbers-mode -1) + (display-fill-column-indicator-mode -1)) +#+end_src + +* Font Setup +Set different types of fonts for differents elements of Org-mode files, like variable pitch for regular text, and fixed pitch for code blocks +#+begin_src emacs-lisp + (defun org-config-font-setup () + "set org mode element fonts" + (custom-set-faces + '(org-block ((t (:inherit fixed-pitch :height 0.91)))) + ;; '(org-block-begin-line ((t (:inherit fixed-pitch)))) + ;; '(org-block-end-line ((t (:inherit fixed-pitch)))) + '(org-checkbox ((t (:inherit fixed-pitch :height 0.91)))) + '(org-code ((t (:inherit (shadow fixed-pitch) :height 0.91)))) + '(org-document-info ((t (:foreground "dark orange")))) + '(org-document-info-keyword ((t (:inherit (shadow fixed-pitch) :height 0.91)))) + '(org-indent ((t (:inherit (org-hide fixed-pitch) :height 0.91)))) + '(org-link ((t (:foreground "royal blue" :underline t)))) + '(org-meta-line ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.91)))) + '(org-property-value ((t (:inherit fixed-pitch :height 0.91))) t) + '(org-special-keyword ((t (:inherit (font-lock-comment-face fixed-pitch) :height 0.91)))) + '(org-table ((t (:inherit fixed-pitch :foreground "#83a598" :height 0.91)))) + '(org-tag ((t (:inherit (shadow fixed-pitch) :height 0.91 :weight bold :height 0.8)))) + '(org-verbatim ((t (:inherit (shadow fixed-pitch) :height 0.91)))))) +#+end_src + +** Header Font Setup +Make header and document title fonts bigger for better visibility. +#+begin_src emacs-lisp + (defun org-config-level-font-setup () + "set header/level and document title fonts" + (custom-set-faces + '(org-document-title ((t + (:inherit (bold variable-pitch) + :height 2.2)))) + '(org-level-1 ((t (:inherit outline-1 :weight bold + :height 1.5)))) + '(org-level-2 ((t (:inherit outline-2 :weight bold + :height 1.4)))) + '(org-level-3 ((t (:inherit outline-3 :weight bold + :height 1.3)))) + '(org-level-4 ((t (:inherit variable-pitch :weight bold + :height 1.2)))) + '(org-level-5 ((t (:inherit variable-pitch :weight bold + :height 1.1)))))) +#+end_src + +* Load Package +#+begin_src emacs-lisp + (use-package org + :custom + (org-hide-emphasis-markers nil) + (org-agenda-files + `(,(expand-file-name "shared/org" (safe-getenv "HOME" user-home-path)))) + + :config + ;; font setup + (org-config-font-setup) + (org-config-level-font-setup) + + ;;other settings + :hook (org-mode . org-config-setup)) +#+end_src diff --git a/init.org.d/40-fonts.org b/init.org.d/40-fonts.org new file mode 100644 index 0000000..3d7ba25 --- /dev/null +++ b/init.org.d/40-fonts.org @@ -0,0 +1,27 @@ +#+TITLE: Font Configuration +This config uses Mozilla's Fira Set of fonts and the related Fira Code fonts with added Nerd fonts. +So for this to run, Fira Sans and FiraCode Nerd Font needs to be installed in the system. + +* Configuration +** default fonts +#+begin_src emacs-lisp + (custom-set-faces + ;; set default font + '(default ((t (:inherit nil :extend nil :stipple nil + :inverse-video nil :box nil + :strike-through nil :overline nil :underline nil + :slant normal :weight normal + :height 100 :width normal + :foundry "CTDB" :family "FiraCode Nerd Font Mono")))) + '(fixed-pitch ((t (:family "FiraCode Nerd Font Mono")))) + '(fixed-pitch-serif ((t (:family "FiraCode Nerd Font Mono")))) + '(variable-pitch ((t (:inherit default :height 1.2 :weight medium :family "Cantarell"))))) +#+end_src + +** Chinese Font +#+begin_src emacs-lisp + ;; (dolist (charset '(kana han symbol cjk-misc bopomofo)) + ;; (set-fontset-font (frame-parameter nil 'font) + ;; charset (font-spec :family "Noto Sans Mono CJK TC Regular" + ;; :size 10))) +#+end_src diff --git a/init.org.d/50-ui.org b/init.org.d/50-ui.org index 39e7cd1..0c0a34e 100644 --- a/init.org.d/50-ui.org +++ b/init.org.d/50-ui.org @@ -45,10 +45,10 @@ run the function at startup of a frame #+END_SRC * 80 Column Line with fill-column-indicator - #+begin_src emacs-lisp - (add-hook 'text-mode-hook #'display-fill-column-indicator-mode) - (add-hook 'prog-mode-hook #'display-fill-column-indicator-mode) + (when (> emacs-major-version 27) + (add-hook 'text-mode-hook #'display-fill-column-indicator-mode) + (add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)) #+end_src * Cursor Shape @@ -149,7 +149,6 @@ sets the tab size 5 spaces * Theme Load theme (that is built-in) - #+begin_src emacs-lisp (load-theme 'modus-vivendi t) #+end_src