From d503a2d1b63d21a63a067af254de0d24257f2641 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 31 Mar 2021 12:45:42 -0500 Subject: Add `olivetti' and tweak `acdw/reading-mode' --- init.el | 9 +++++++++ lisp/acdw.el | 36 ++++++++++++++++++++++++++++++------ 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/init.el b/init.el index 8c60cda..1ba61dc 100644 --- a/init.el +++ b/init.el @@ -302,6 +302,9 @@ shr-image-animate t shr-discard-aria-hidden t)) +(setup eww + (:hook acdw/reading-mode)) + (add-hook 'text-mode-hook #'goto-address-mode) (add-hook 'prog-mode-hook #'goto-address-prog-mode) @@ -479,6 +482,12 @@ (require 'acdw-modeline) (simple-modeline-mode +1)) +;;;; Olivetti +;; also useful for `acdw/reading-mode' +(setup (:straight olivetti) + (:option olivetti-body-width (+ fill-column 4) + olivetti-minimum-body-width fill-column)) + ;;; Utilities ;;;; 0x0 -- upload files to a nullpointer diff --git a/lisp/acdw.el b/lisp/acdw.el index 35d5ac1..e1d4b48 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el @@ -99,17 +99,41 @@ directory." :lighter " Read" (if acdw/reading-mode (progn ;; turn on - (display-fill-column-indicator-mode -1) - (dolist (mode '(visual-fill-column-mode - iscroll-mode)) + ;; settings + (setq-local mode-line-format + '(:eval + (let* ((fmt " Reading %b (%m) ") + (len (length (format-mode-line fmt)))) + (concat + (propertize " " + 'display `((space :align-to (- right + ,len))) + 'face '(:inherit italic)) + fmt)))) + ;; modes to disable + (dolist (mode '(display-fill-column-indicator-mode + simple-modeline-mode)) + (when (fboundp mode) + (funcall mode -1))) + ;; modes to enable + (dolist (mode '(iscroll-mode + olivetti-mode)) (when (fboundp mode) (funcall mode +1)))) ;; turn off - (display-fill-column-indicator-mode +1) - (dolist (mode '(visual-fill-column-mode + ;; settings + (kill-local-variable 'mode-line-format) + ;; modes to re-enable + (dolist (mode '(display-fill-column-indicator-mode + simple-modeline-mode)) + (when (fboundp mode) + (funcall mode +1))) + ;; modes to re-disable + (dolist (mode '(olivetti-mode iscroll-mode)) (when (fboundp mode) - (funcall mode -1))))) + (funcall mode -1))) + (force-mode-line-update))) ;;; Keymap & Mode -- cgit 1.4.1-21-gabe81