;;; fixed-pitch.el --- Use fixed-pitch only in sensible buffers -*- lexical-binding: t; -*- ;; Copyright (C) 2020, Carl Steib ;; Author: Carl Steib ;; URL: https://github.com/cstby/fixed-pitch ;; Version: 0.0.0 ;; Package-Requires: ((emacs "27.1")) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;; This file is not part of Emacs. ;;; Commentary: ;; Provides a minor mode for using the fixed-pitch face. Allows users to use a ;; variable-pitch font as the default while still using fixed-pitch for code. ;;; Code: (defun fixed-pitch-update-hooks (list) "Adds `fixed-pitch-mode' to every hook in LIST." (dolist (hook list) (add-hook hook 'fixed-pitch-mode))) (defcustom fixed-pitch-whitelist-hooks '() "List of hooks that should activate `fixed-pitch-mode'." :type '(repeat symbol) :group 'fixed-pitch :set (lambda (var val) (set-default var val) (fixed-pitch-update-hooks val))) ;;;###autoload (define-minor-mode fixed-pitch-mode "Use monospace typeface in the appropriate context." :lighter " fxd" (if fixed-pitch-mode (progn (buffer-face-set 'fixed-pitch)) (buffer-face-set))) (provide 'fixed-pitch) ;;; fixed-pitch.el ends here