From 6b2d5ad615fdcf14270a11af5a32b7fc3a964706 Mon Sep 17 00:00:00 2001 From: Alex Bochannek Date: Tue, 7 Sep 2021 17:12:39 +0200 Subject: [PATCH] Add a new Gnus command to toggle whether to use fonts in shr * doc/misc/gnus.texi (Article Washing): Document it. * lisp/gnus/gnus-art.el (gnus-article-toggle-fonts): New command and key binding (bug#50383). --- doc/misc/gnus.texi | 6 ++++++ lisp/gnus/gnus-art.el | 8 ++++++++ lisp/gnus/gnus-sum.el | 2 ++ 3 files changed, 16 insertions(+) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 5f3fba00df74..b3847647406b 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -9374,6 +9374,12 @@ Use html2text---a simple @acronym{HTML} converter included with Gnus. @end table +@item W D F +@kindex W D F @r{(Summary)} +@findex gnus-article-toggle-fonts +Toggle proportional fonts for @acronym{HTML} articles. This temporarily +changes the @code{shr-use-fonts} variable in the current article buffer. + @item W b @kindex W b @r{(Summary)} @findex gnus-article-add-buttons diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 3c1403e15514..c4fa1e960b67 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -2243,6 +2243,14 @@ This only works if the article in question is HTML." (funcall function (get-text-property start 'image-url) start end))))))) +(defun gnus-article-toggle-fonts () + "Toggle the use of proportional fonts for HTML articles." + (interactive nil gnus-article-mode gnus-summary-mode) + (gnus-with-article-buffer + (when (eq mm-text-html-renderer 'shr) + (setq-local shr-use-fonts (not shr-use-fonts)) + (gnus-summary-show-article)))) + (defun gnus-article-treat-fold-newsgroups () "Fold the Newsgroups and Followup-To message headers." (interactive nil gnus-article-mode gnus-summary-mode) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 856e95c0ba0e..c28e38e31566 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -2252,6 +2252,7 @@ increase the score of each group you read." "s" gnus-treat-smiley "D" gnus-article-remove-images "W" gnus-article-show-images + "F" gnus-article-toggle-fonts "f" gnus-treat-from-picon "m" gnus-treat-mail-picon "n" gnus-treat-newsgroups-picon @@ -2561,6 +2562,7 @@ gnus-summary-show-article-from-menu-as-charset-%s" cs)))) ["Unfold headers" gnus-article-treat-unfold-headers t] ["Fold newsgroups" gnus-article-treat-fold-newsgroups t] ["Html" gnus-article-wash-html t] + ["Toggle HTML fonts" gnus-article-toggle-fonts t] ["Unsplit URLs" gnus-article-unsplit-urls t] ["Verify X-PGP-Sig" gnus-article-verify-x-pgp-sig t] ["Decode HZ" gnus-article-decode-HZ t]