This width-workaround would simply toggle fci-mode on and off, every
time window-size-change-functions and window-configuration-change-hook
is triggered.
This commit is contained in:
Henrik Lissner 2018-11-01 00:05:12 -04:00
parent 599c95e4a4
commit 876660c28f
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -21,23 +21,6 @@ Changes to this variable do not take effect until `fci-mode' is restarted.")
;; more important to me, so... ;; more important to me, so...
(add-hook 'org-mode-hook #'turn-off-fci-mode) (add-hook 'org-mode-hook #'turn-off-fci-mode)
;; turn off fci if the window is narrow than fill column
(defun +fci-toggle-maybe (window)
(let ((fci-enabled (symbol-value 'fci-mode))
(fci-column (or fci-rule-column fill-column)))
(with-selected-window window
(if (and (eq fci-enabled nil)
(< fci-column
(+ (window-width) (window-hscroll))))
(turn-on-fci-mode)
(turn-off-fci-mode)))))
(defun +fci|width-workaround (&rest _)
(walk-windows #'+fci-toggle-maybe 'no-minibuf))
(add-hook 'window-size-change-functions #'+fci|width-workaround)
(add-hook 'window-configuration-change-hook #'+fci|width-workaround)
(defun +fci|set-color () (defun +fci|set-color ()
"Automatically change `fci-rule-color' based on `+fci-rule-color-function's "Automatically change `fci-rule-color' based on `+fci-rule-color-function's
return value. To disable this, either set `+fci-rule-color-function' to nil or return value. To disable this, either set `+fci-rule-color-function' to nil or