diff options
-rw-r--r-- | init.el | 12 | ||||
-rw-r--r-- | lisp/acdw-fonts.el | 45 |
2 files changed, 56 insertions, 1 deletions
diff --git a/init.el b/init.el index d20e1ac..a6e29a4 100644 --- a/init.el +++ b/init.el | |||
@@ -365,6 +365,9 @@ | |||
365 | (setup imenu | 365 | (setup imenu |
366 | (:option imenu-auto-rescan t)) | 366 | (:option imenu-auto-rescan t)) |
367 | 367 | ||
368 | (setup Info | ||
369 | (:hook variable-pitch-mode)) | ||
370 | |||
368 | (setup isearch | 371 | (setup isearch |
369 | (:option search-default-mode t)) | 372 | (:option search-default-mode t)) |
370 | 373 | ||
@@ -578,6 +581,9 @@ | |||
578 | uniquify-after-kill-buffer-p t | 581 | uniquify-after-kill-buffer-p t |
579 | uniquify-ignore-buffers-re "^\\*")) | 582 | uniquify-ignore-buffers-re "^\\*")) |
580 | 583 | ||
584 | (setup variable-pitch-mode | ||
585 | (:hook acdw-fonts/adapt-variable-pitch)) | ||
586 | |||
581 | (setup view | 587 | (setup view |
582 | (:option view-read-only t) | 588 | (:option view-read-only t) |
583 | 589 | ||
@@ -936,7 +942,11 @@ if ripgrep is installed, otherwise `consult-grep'." | |||
936 | (:bind "RET" acdw-org/return-dwim | 942 | (:bind "RET" acdw-org/return-dwim |
937 | "<S-return>" acdw-org/org-table-copy-down) | 943 | "<S-return>" acdw-org/org-table-copy-down) |
938 | 944 | ||
939 | (add-hook 'before-save-hook #'acdw-org/fix-blank-lines-in-buffer) | 945 | (defun acdw/org-fix-lines-before-save () |
946 | (add-hook 'before-save-hook #'acdw-org/fix-blank-lines-in-buffer 0 :local)) | ||
947 | |||
948 | (:hook variable-pitch-mode | ||
949 | acdw/org-fix-lines-before-save) | ||
940 | 950 | ||
941 | (advice-add 'org-delete-backward-char | 951 | (advice-add 'org-delete-backward-char |
942 | :override #'acdw-org/delete-backward-char)) | 952 | :override #'acdw-org/delete-backward-char)) |
diff --git a/lisp/acdw-fonts.el b/lisp/acdw-fonts.el index 6c0cb8d..1b73af7 100644 --- a/lisp/acdw-fonts.el +++ b/lisp/acdw-fonts.el | |||
@@ -127,5 +127,50 @@ This is for emoji fonts." | |||
127 | (set-fontset-font t 'symbol | 127 | (set-fontset-font t 'symbol |
128 | (font-spec :family font) nil 'append))))) | 128 | (font-spec :family font) nil 'append))))) |
129 | 129 | ||
130 | |||
131 | ;;; Variable-pitch | ||
132 | ;; from https://github.com/turbana/emacs-config#variable-pitch | ||
133 | |||
134 | (defcustom acdw-fonts/fixed-pitch-faces '(linum | ||
135 | org-block | ||
136 | org-block-begin-line | ||
137 | org-block-end-line | ||
138 | org-checkbox | ||
139 | org-code | ||
140 | org-date | ||
141 | org-document-info-keyword | ||
142 | org-hide | ||
143 | org-indent | ||
144 | org-link | ||
145 | org-meta-line | ||
146 | org-special-keyword | ||
147 | org-table | ||
148 | whitespace-space) | ||
149 | "Faces to keep fixed-pitch in `acdw/variable-pitch-mode'." | ||
150 | :type 'sexp | ||
151 | :group 'faces) | ||
152 | |||
153 | (defun acdw-fonts//variable-pitch-add-inherit (attrs parent) | ||
154 | "Add `:inherit PARENT' to ATTRS unless already present. | ||
155 | Handles cases where `:inherit' is already specified." | ||
156 | (let ((current-parent (plist-get attrs :inherit))) | ||
157 | (unless (or (eq parent current-parent) | ||
158 | (and (listp current-parent) | ||
159 | (member parent current-parent))) | ||
160 | (plist-put attrs :inherit (if current-parent | ||
161 | (list current-parent parent) | ||
162 | parent))))) | ||
163 | |||
164 | (defun acdw-fonts/adapt-variable-pitch () | ||
165 | "Adapt `variable-pitch-mode' to keep some fonts fixed-pitch." | ||
166 | (when variable-pitch-mode | ||
167 | (mapc (lambda (face) | ||
168 | (when (facep face) | ||
169 | (apply #'set-face-attribute | ||
170 | face nil (acdw-fonts//variable-pitch-add-inherit | ||
171 | (face-attr-construct face) | ||
172 | 'fixed-pitch)))) | ||
173 | acdw-fonts/fixed-pitch-faces))) | ||
174 | |||
130 | (provide 'acdw-fonts) | 175 | (provide 'acdw-fonts) |
131 | ;;; acdw-fonts.el ends here | 176 | ;;; acdw-fonts.el ends here |