From: "Paul W. Rankin" <hello@paulwrankin.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: martin rudalics <rudalics@gmx.at>, Eli Zaretskii <eliz@gnu.org>,
emacs-devel@gnu.org
Subject: Re: Adding olivetti to GNU ELPA
Date: Wed, 15 May 2019 18:26:55 +1000 [thread overview]
Message-ID: <m2r290nmwg.fsf@paulwrankin.com> (raw)
In-Reply-To: <jwvmujp8bwn.fsf-monnier+emacs@gnu.org>
I think the patch below should cover all the bases, from 24 -> 27,
using window-configuration-change-hook and
window-size-change-functions:
- for Emacs 24, we just use window-configuration-change-hook
- for Emacs 25 & 26 we use the combination architected by Stefan
- for Emacs 27, just window-size-change-functions
This doesn't cover for window size changes in Emacs 26 (25?) when
display-line-numbers-mode scrolls from 99 to 100, but I spent
hours trying to get that working a while back to no avail...
*shrug*
diff --git a/olivetti.el b/olivetti.el
index a64607e..6e140ce 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -259,7 +259,7 @@ fraction of the window width."
(read-number "Set text body width (integer or
float): "
olivetti-body-width))))
(setq olivetti-body-width n)
- (olivetti-set-margins)
+ (olivetti-set-all-margins)
(message "Text body width set to %s" olivetti-body-width))
(defun olivetti-expand (&optional arg)
@@ -273,7 +273,7 @@ If prefixed with ARG, incrementally decrease."
((floatp olivetti-body-width)
(+ olivetti-body-width (* 0.01 p))))))
(setq olivetti-body-width (olivetti-safe-width n
(selected-window))))
- (olivetti-set-margins)
+ (olivetti-set-all-margins)
(message "Text body width set to %s" olivetti-body-width)
(set-transient-map
(let ((map (make-sparse-keymap)))
@@ -312,10 +312,17 @@ body width set with `olivetti-body-width'."
:lighter olivetti-lighter
(if olivetti-mode
(progn
- (add-hook 'window-size-change-functions
- #'olivetti-set-margins t t)
- (add-hook 'window-configuration-change-hook
- 'olivetti-set-all-margins t t)
+ (cond ((<= emacs-major-version 24)
+ (add-hook 'window-configuration-change-hook
+ #'olivetti-set-all-margins t t))
+ ((<= emacs-major-version 26)
+ (add-hook 'window-configuration-change-hook
+ #'olivetti-set-all-margins t t)
+ (add-hook 'window-size-change-functions
+ #'olivetti-set-margins t t))
+ ((<= 27 emacs-major-version)
+ (add-hook 'window-size-change-functions
+ #'olivetti-set-margins t t)))
(add-hook 'change-major-mode-hook
#'olivetti-reset-all-windows nil t)
(setq-local split-window-preferred-function
--
https://www.paulwrankin.com
next prev parent reply other threads:[~2019-05-15 8:26 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-25 8:32 Adding olivetti to GNU ELPA Paul W. Rankin
2019-04-25 8:56 ` Eli Zaretskii
2019-04-25 12:32 ` Paul W. Rankin
2019-04-25 12:43 ` Eli Zaretskii
2019-04-25 13:01 ` Paul W. Rankin
2019-04-25 14:30 ` Eli Zaretskii
2019-05-08 4:07 ` Paul W. Rankin
2019-05-08 6:20 ` Eli Zaretskii
2019-05-09 6:54 ` Paul W. Rankin
2019-05-09 7:53 ` Eli Zaretskii
2019-05-09 8:14 ` martin rudalics
2019-05-09 13:30 ` Stefan Monnier
2019-05-10 8:00 ` martin rudalics
2019-05-14 5:16 ` Paul W. Rankin
2019-05-14 7:04 ` Paul W. Rankin
2019-05-14 12:22 ` Stefan Monnier
2019-05-15 8:26 ` Paul W. Rankin [this message]
2019-05-14 16:05 ` Joost Kremers
2019-05-14 16:50 ` Stefan Monnier
2019-05-14 21:56 ` Joost Kremers
2019-05-15 1:29 ` Stefan Monnier
2019-05-20 8:24 ` martin rudalics
2019-05-20 13:14 ` Paul W. Rankin
2019-05-21 7:32 ` martin rudalics
2019-05-21 7:38 ` Paul W. Rankin
2019-05-21 7:45 ` martin rudalics
2019-05-21 9:05 ` Paul W. Rankin
2019-05-21 10:04 ` martin rudalics
2019-05-22 1:47 ` Paul W. Rankin
2019-05-22 8:32 ` martin rudalics
2019-05-22 9:14 ` Paul W. Rankin
2019-05-08 14:07 ` Stefan Monnier
2019-05-08 15:45 ` Stephen Leake
2019-05-08 17:50 ` Eli Zaretskii
2019-04-26 1:17 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2r290nmwg.fsf@paulwrankin.com \
--to=hello@paulwrankin.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.