Subject: bug#76394: mouse-face property not working in tab-bar

From: Ship Mints <[email-masked]>
Date: Fri, 28 Feb 2025 15:35:44 -0500

On Fri, Feb 28, 2025 at 2:09 PM Ship Mints <[email-masked]> wrote:

> Another patch rev attached.
>
> On Fri, Feb 28, 2025 at 2:04 PM Ship Mints <[email-masked]> wrote:
>
>> On Fri, Feb 28, 2025 at 2:00 PM Eli Zaretskii <[email-masked]> wrote:
>>
>>> >
>>> > So we'll be super duper defensive, then.  Should I leave the "future"
>>> code in place after the assertion or do
>>> > you think it's easy enough to recreate if/when needed?
>>>
>>> I'd prefer to avoid testing for a condition that is always true.
>>>
>>
>> I'll remove the code.  It's in the archive in older patches, if ever
>> needed.
>>
>> >    * lisp/tab-bar.el (tab-bar-tab-highlight): New face.
>>> >
>>> > I'll update.
>>> >
>>> >  But I have a question: why add this face if there's no code that uses
>>> >  it?  Or what did I miss?
>>> >
>>> >  > -  bool close_p;
>>> >  > -  enum draw_glyphs_face draw = DRAW_IMAGE_RAISED;
>>> >  > -  int rc;
>>> >  > +    Lisp_Object window = f->tab_bar_window;
>>> >  > +    struct window *w = XWINDOW (window);
>>> >  > +    Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
>>> >
>>> > The idea is that now that there's mouse-face support, people can
>>> customize a dedicated face for tab-bar
>>> > tabs.  This is in line with tab-line tabs and its highlight face.
>>>
>>> Sounds strange to me to have a face that no other code uses.  I would
>>> understand if this face was by default identical to the 'default'
>>> face, and was used by the tab bar.
>>>
>>
>> I will ask Prot to theme this face in modus-themes so it will be used
>> there.
>>
>
I will do two more things for the next patch.  I will add NEWS.  I will
also use the new face as the default mouse-face
in tab-bar-tab-name-format-face.  I suppose we could add
a tab-bar-tab-name-format-mouse-face function to
the tab-bar-tab-name-format-functions list.  What do you/Juri think?