unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Kangas <stefan@marxist.se>
Cc: thomas.hisch@ims.co.at, 41852@debbugs.gnu.org
Subject: bug#41852: 27.0.50; text-scale commands don't scale header of tabulated-list-mode
Date: Mon, 19 Oct 2020 17:19:52 +0300	[thread overview]
Message-ID: <83y2k2pabb.fsf@gnu.org> (raw)
In-Reply-To: <CADwFkmkU0JNoqp9sgLTL6qvZSzvoteLcF9RW=yqSyrk4yjWUVw@mail.gmail.com> (message from Stefan Kangas on Sun, 18 Oct 2020 16:34:23 -0700)

> From: Stefan Kangas <stefan@marxist.se>
> Date: Sun, 18 Oct 2020 16:34:23 -0700
> Cc: Eli Zaretskii <eliz@gnu.org>, 41852@debbugs.gnu.org
> 
> How about the attached patch?

It's probably a good feature, but it has at least one caveat: setting
that variable non-nil will cause not only the header-line face to be
rescaled, it will also cause any face that inherits from header-line
to be rescaled.  Not sure if this is a problem, but it should be
called out in NEWS, at least.

> +** text-scale-mode
> +
> +---
> +*** text-scale-mode can adjust text height of header line face.
> +When the new buffer local variable 'text-scale-mode-header-line' is
> +non-nil, 'text-scale-adjust' (bound to 'C-x C-+' and 'C-x C--' by
> +default) will also change the text height of the header line face.
> +This feature is intended for use by Emacs Lisp package authors.

This should mention modes that arrange their display in tabular form
below the header-line, such as tabulated-list-mode and its
descendants.  Otherwise the last sentence and the goal of the feature
itself are left on a level that's too abstract.

> -(make-variable-buffer-local 'text-scale-mode-remapping)
> +(make-obsolete-variable 'text-scale-mode-remapping "no longer used." "28.1")
> +
> +(defvar text-scale-mode--remappings nil
> +  "List of current remapping cookies for `text-scale-mode'.")

Why this change?

> +(defvar text-scale-mode-header-line nil

I suggest to name this text-scale-remap-header-line-face.

> +  "If non-nil, also change text height of the header line.")

Not just height, the size.  Also, please say "`header-line' face", and
mention that all the faces that inherit from it will be affected as
well.

> +(defun face-remap--remap-face (sym)
> +  (push (face-remap-add-relative sym
> +                       :height
> +                       (expt text-scale-mode-step
> +                             text-scale-mode-amount))
> +        text-scale-mode--remappings))

I wonder whether this is all there is to it.  The display code doesn't
automatically use the remapped face in all cases, we need to code that
"by hand" in each and every case.  So far we've been doing that only
for the default face; I wonder if we'll have to do something similar
for header-line on the C level...  Please be sure to test this in
every possible way, including cursor motion around such rescaled
header-lines etc.

Thanks.





  reply	other threads:[~2020-10-19 14:19 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-14 13:36 bug#41852: 27.0.50; text-scale commands don't scale header of tabulated-list-mode Thomas Hisch
2020-06-14 14:42 ` Eli Zaretskii
2020-06-14 16:25   ` Thomas Hisch
2020-10-18 23:34     ` Stefan Kangas
2020-10-19 14:19       ` Eli Zaretskii [this message]
2020-10-19 18:21         ` Stefan Kangas
2020-10-19 19:02           ` Eli Zaretskii
2020-10-19 22:41             ` Stefan Kangas
2020-10-20 14:15               ` Eli Zaretskii
2020-10-20 14:40                 ` Stefan Kangas
2020-10-20 14:45                   ` Eli Zaretskii
2020-10-20 19:10                     ` Thomas Hisch
2020-10-29 17:43                       ` Stefan Kangas
2020-10-29 19:37                         ` Thomas Hisch
2020-10-29 21:45                           ` Stefan Kangas
2020-10-30  8:01                             ` Eli Zaretskii
2020-10-29 17:33                     ` Stefan Kangas
2020-10-29 18:02                       ` Drew Adams
2020-10-29 18:15                         ` Stefan Kangas
2020-10-29 18:32                           ` Drew Adams
2020-10-29 18:47                             ` Stefan Kangas
2020-10-30  8:54                       ` martin rudalics
2020-10-30 16:04                         ` Stefan Kangas
2020-10-30 17:37                           ` martin rudalics
2020-10-30 19:01                             ` Eli Zaretskii
2020-10-31  0:31                             ` Stefan Kangas
2020-10-31  8:00                               ` martin rudalics
2020-10-30 18:54                           ` Eli Zaretskii
2020-10-30 20:22                             ` Stefan Kangas
2020-10-30 20:53                               ` Eli Zaretskii
2020-10-31 16:15                                 ` Stefan Kangas
2020-10-31 16:48                                   ` Eli Zaretskii
2020-10-31 16:57                                     ` Eli Zaretskii
2020-10-31 17:55                                     ` Eli Zaretskii
2020-11-12 22:25                                       ` Stefan Kangas
2020-11-13  7:51                                         ` Eli Zaretskii
2020-11-25  2:08                                           ` Stefan Kangas
2020-11-13  8:49                                         ` martin rudalics
2020-11-25  2:08                                           ` Stefan Kangas
2020-11-13 13:00                                         ` Jean Louis
2020-11-13 14:32                                           ` Stefan Kangas
2020-11-13 15:33                                             ` Jean Louis
2020-11-13 16:07                                         ` github.com
2020-11-13 16:49                                           ` Stefan Kangas
2020-10-31 16:50                                   ` Stefan Kangas
2020-10-31  8:29                       ` Eli Zaretskii
2020-10-31 16:25                         ` Stefan Kangas
     [not found] <<955fe4fe-a64d-b7c6-fe31-7efd810f97a5@ims.co.at>
     [not found] ` <<83mu553e0x.fsf@gnu.org>
2020-06-14 16:28   ` Drew Adams
2020-06-14 17:23     ` Thomas Hisch

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83y2k2pabb.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=41852@debbugs.gnu.org \
    --cc=stefan@marxist.se \
    --cc=thomas.hisch@ims.co.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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).