unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Aaron Jensen <aaronjensen@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: trevor.m.murphy@gmail.com, me@eshelyaron.com,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	73862@debbugs.gnu.org
Subject: bug#73862: [PATCH] Add `header-line-active` and `header-line-inactive` faces.
Date: Fri, 6 Dec 2024 06:53:19 -0800	[thread overview]
Message-ID: <CAHyO48wU6yYBt33S1rO7bJPv44Uc+L+HJamcfRXjGfXYzQPwaA@mail.gmail.com> (raw)
In-Reply-To: <86jzcdkx6t.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3314 bytes --]

On Fri, Dec 06, 2024 at 12:55 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> See above: I hope the situation is more clear now.
>

Yes, thank you. I still don't know all of the different things that trigger
computation of faces, but I probably don't need to (and likely shouldn't
need to).

So I tend to close this bug as wontfix, and just mention in the
> documentation (NEWS at least) that people who remap header-line or
> mode-line need now to remap the new -active and -inactive faces.
>
> Ok, I get what you're saying here, but I don't know that I agree with
> this:
> "...people somehow expect that remapping the header-line face will affect
> header-line-active and header-line-inactive." I'm not sure why it wouldn't
> be expected.
>
> It shouldn't be expected for basic faces.
>

From a purely human, cognitive load, and/or usability perspective, it
should be expected. As designers of software we have to be careful not to
let our detailed knowledge of things influence how we think other people
who do not have that detailed knowledge will or should think about things.
I was speaking purely from a "principle of least surprise" perspective. All
I mean is that if there are 10 widgets, and 9 widgets work a certain way
when you push a button on them, it is human and natural to expect the 10th
to work that same way. It doesn't matter that the builder of the widget
refers to it as a "basic widget", because the user of the widget has never
come across that terminology, nor do they know what special variation it
confers.

It does sound like below you agree that the situation caused is
undesirable, I'm trying to speak to why I believe it is. But yes,
perhaps the train has left the station though.

Or we could do what the mode-line case did originally: leave the active
> face to be header-line and define header-line-inactive without inheritance.
> This will at least let existing remapping of header-line work as it did
> before.
>
> For the same reasons, I would prefer to go back on the mode-line-active
> change, but I'm not sure this is practical at this point.
>

I'd personally be fine with this. It would be obvious when an inactive
header line looked different than my header line I configured and I would
have to look into it. I'm guessing there's no way to apply
header-line-active and header-line-inactive to the actual formatted header
line in the same way a user would with propertize so that it would behave
like a non-basic face? I have no idea what that would entail, but I'm
assuming there's a special reason for treating basic faces specially
(perhaps it has to do with how init_iterator is initialized with it)

This would mean that the base faces, header-line and mode-line would be
> eliminated.
>
> No need to go that far. These faces are still useful, because they allow
> to define the inheriting faces more compactly, and allow to change the
> definitions easier. Inheritance still works on the defface level, even for
> basic faces.
>

I think you're saying above you'd prefer nearly the same thing, but
header-line would survive, rather than header-line-active, yes? The point
is that inheritance only "kind of" works for basic faces (from a user's
perspective), so no matter how we get rid of the default use of
inheritance, I think it would be better for users.

Thanks,

[-- Attachment #2: Type: text/html, Size: 5459 bytes --]

  reply	other threads:[~2024-12-06 14:53 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-18 12:56 bug#73862: [PATCH] Add `header-line-active` and `header-line-inactive` faces trevor.m.murphy
2024-10-27 10:46 ` Eli Zaretskii
2024-11-09  9:37   ` Eli Zaretskii
2024-11-11  6:11     ` Trevor Murphy
2024-11-16 14:11       ` Eli Zaretskii
2024-12-04  5:06 ` Aaron Jensen
2024-12-04  6:30   ` Aaron Jensen
2024-12-04 13:49     ` Eli Zaretskii
2024-12-05  3:06       ` Aaron Jensen
2024-12-05  6:22         ` Eli Zaretskii
2024-12-05  6:50           ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05  7:31             ` Eli Zaretskii
2024-12-05  6:53           ` Aaron Jensen
2024-12-05  7:29             ` Aaron Jensen
2024-12-05  7:51               ` Eli Zaretskii
2024-12-05 16:02                 ` Aaron Jensen
2024-12-05 20:42                   ` Eli Zaretskii
2024-12-05 21:14                     ` Aaron Jensen
2024-12-06  8:55                       ` Eli Zaretskii
2024-12-06 14:53                         ` Aaron Jensen [this message]
2024-12-06 16:28                           ` Aaron Jensen
2024-12-07  9:54                             ` Eli Zaretskii
2024-12-07  9:50                     ` Eli Zaretskii
2024-12-07 13:28                       ` Aaron Jensen
2024-12-07 15:02                         ` Eli Zaretskii
2024-12-07 17:13                           ` Aaron Jensen
2024-12-07 18:25                             ` Eli Zaretskii
2024-12-07 18:46                               ` Aaron Jensen
2024-12-07 18:59                                 ` Eli Zaretskii
2024-12-07 19:06                                   ` Aaron Jensen
2024-12-07 19:19                                     ` Eli Zaretskii
2024-12-07 19:59                                       ` Aaron Jensen
2024-12-08 14:11                                       ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 14:57                                         ` Eli Zaretskii
2024-12-08 16:29                                           ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 17:26                                             ` Aaron Jensen
2024-12-08 17:39                                             ` Eli Zaretskii
2024-12-08 20:56                                               ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09  3:26                                                 ` Eli Zaretskii
2024-12-09  8:56                                                   ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05  7:35             ` Eli Zaretskii

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=CAHyO48wU6yYBt33S1rO7bJPv44Uc+L+HJamcfRXjGfXYzQPwaA@mail.gmail.com \
    --to=aaronjensen@gmail.com \
    --cc=73862@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=me@eshelyaron.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=trevor.m.murphy@gmail.com \
    /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).