From: Eli Zaretskii <eliz@gnu.org>
To: Stephen Berman <stephen.berman@gmx.net>
Cc: 69942@debbugs.gnu.org, maurooaranda@gmail.com
Subject: bug#69942: 30.0.50; Fontification of radio-button widget labels
Date: Thu, 09 May 2024 10:22:35 +0300 [thread overview]
Message-ID: <86zfsz78lg.fsf@gnu.org> (raw)
In-Reply-To: <87o79wl28x.fsf@gmx.net> (message from Stephen Berman on Fri, 26 Apr 2024 14:47:26 +0200)
Ping! Any further comments, or is there agreement to install the
proposed patch?
> From: Stephen Berman <stephen.berman@gmx.net>
> Cc: Eli Zaretskii <eliz@gnu.org>, 69942@debbugs.gnu.org
> Date: Fri, 26 Apr 2024 14:47:26 +0200
>
> On Sun, 21 Apr 2024 21:45:21 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
>
> > On Thu, 18 Apr 2024 15:37:58 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
> >
> >> On Thu, 18 Apr 2024 07:07:43 -0300 Mauro Aranda <maurooaranda@gmail.com> wrote:
> >>
> >>> Eli Zaretskii <eliz@gnu.org> writes:
> >>>
> >>>>> Date: Mon, 8 Apr 2024 07:58:44 -0300
> >>>>> Cc: 69942@debbugs.gnu.org
> >>>>> From: Mauro Aranda <maurooaranda@gmail.com>
> >>>>>
> >>>>> On 6/4/24 06:02, Eli Zaretskii wrote:
> >>>>> >> From: Stephen Berman <stephen.berman@gmx.net>
> >>>>> >> Cc: Eli Zaretskii <eliz@gnu.org>, 69942@debbugs.gnu.org
> >>>>> >> Date: Mon, 01 Apr 2024 17:21:27 +0200
> >>>>> >>
> >>>>> >> On Mon, 25 Mar 2024 01:40:36 +0100 Stephen Berman
> >>>>> <stephen.berman@gmx.net> wrote:
> >>>>> >>
> >>>>> >>> Ok, I've gotten further with implementing disinguishing by faces
> >>>>> >>> selected (chosen) and unselected radio buttons in radio-button-choice
> >>>>> >>> widgets and check boxes in checklist widgets, see the attached patch.
> >>>>> >>> Initial tests seem ok, but it definitely needs more testing.
> >>>>> >>
> >>>>> >> Any comments on this patch for using a widget-unselected face? I have
> >>>>> >> been detained from further testing this past week, but can now resume.
> >>>>> >
> >>>>> > Mauro, any further comments?
> >>>>>
> >>>>> Hi Eli and Stephen,
> >>>>>
> >>>>> Please forgive me, for the past 2 weeks I haven't been able to do any
> >>>>> computer stuff. If it's OK, please give me until the weekend so I
> >>>>> can catch up with this and the other 2 bug reports by Stephen.
> >>>>
> >>>> Mauro, were you able to find time to look into this and the other 2
> >>>> bugs?
> >>>
> >>> I have, just now. The patch looks good to me. It'll be great if
> >>> Stephen can add some documentation to the manual, so it stays updated.
> >>> If not, I can do that in a few days.
> >>
> >> Sure, I'll add documentation and post it here for approval before
> >> pushing the changes.
> >
> > I've encountered some problems with the patch. One is that it breaks
> > the display of all face attributes in the customize-face buffer. I've
> > determined the part of the patch that triggers this, though I haven't
> > yet figured out just why this bit of code breaks the display. Also, it
> > appears that the widget-unselected face does not completely replace
> > widget-inactive where it's intended to do so, but I need to do more
> > testing and debugging here to find out why. Until I've fixed these
> > issues the patch is not suitable for installing, so I'm also holding off
> > with the accompanying documentation. (But in preparation for the
> > documentation I looked more closely at the Widget manual and found
> > several typos and other issues, for which I opened bug#70502.)
>
> The breakage in displaying all face attributes in the customize-face
> buffer was caused by the invocation of `(widget-specify-selected child)'
> in widget-checklist-add-item in the cond-clause satisfying
> `(widget-inline-p type t)'. I still don't understand why it has this
> effect, and I have to admit that I don't understand what an inline
> widget is. But simply omitting the invocation of
> `(widget-specify-selected child)' at this point in the patch does avoid
> the customize-face breakage and I have not noticed any problems due to
> this omission.
>
> As for the problematic interaction between the widget-unselected and
> widget-inactive faces, this seems to have been due to my having copied
> most of the definition of widget-specify-unselected from that of
> widget-specify-inactive, and specifically, copying the overlay priority.
> In the attached patch, widget-specify-unselected now uses a lower
> overlay priority than the one used in widget-specify-inactive, and in my
> tests this yields the desired results: the labels of active checkboxes
> and radio-buttons have widget-unselected face but when these widgets are
> deactivated, the labels have widget-inactive face.
>
> Another change I've made in the attached patch is to have the default
> value of widget-unselected face inherit from widget-inactive instead of
> inheriting from shadow face, like widget-inactive does by default. This
> way, if a user customizes widget-inactive, that will also apply by
> default to widget-unselected, thus retaining the current default widget
> UI where the labels of checkboxes and radio-buttons have widget-inactive
> face. (Thus, the "desired results" in the preceding paragraph are only
> visible when widget-unselected face is customized to differ from
> widget-unselected face.)
>
> Finally, regarding documentation of widget-unselected face in the Widget
> manual, I think it would be helpful for the documentation to mention the
> use case that motivated introducing it (following Mauro's suggestion to
> use a face instead of a defcustom), namely, to visually distinguish the
> labels of unselected and inactive widgets. Here is what I suggest:
>
> @deffn Face widget-unselected
> Face used for unselected widgets. This face is also used on the text
> labels of radio-button and checkbox widgets.
>
> The default value inherits @code{widget-inactive} face. If you want to
> visually distinguish the labels of unselected active radio-button or
> checkbox widgets from the labels of unselected inactive widgets,
> customize this face to a non-default value.
> @end deffn
>
> Since the recent widget.texi changes that include documenting
> widget-inactive face have not yet been merged to master, I haven't
> included the propopsed documentaton of widget-unselected in the attached
> patch, but if approved, will of course add it after the merge.
>
> Steve Berman
next prev parent reply other threads:[~2024-05-09 7:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-22 15:04 bug#69942: 30.0.50; Fontification of radio-button widget labels Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-22 15:33 ` Eli Zaretskii
2024-03-23 21:05 ` Mauro Aranda
2024-03-24 18:47 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-25 0:40 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-01 15:21 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-06 9:02 ` Eli Zaretskii
2024-04-08 10:58 ` Mauro Aranda
2024-04-08 11:15 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-08 12:03 ` Eli Zaretskii
2024-04-18 9:23 ` Eli Zaretskii
2024-04-18 10:07 ` Mauro Aranda
2024-04-18 13:37 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-21 19:45 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-26 12:47 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-09 7:22 ` Eli Zaretskii [this message]
2024-05-25 7:41 ` Eli Zaretskii
2024-05-25 9:29 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-06-08 11:48 ` Eli Zaretskii
2024-06-26 6:56 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
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=86zfsz78lg.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=69942@debbugs.gnu.org \
--cc=maurooaranda@gmail.com \
--cc=stephen.berman@gmx.net \
/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.