GNU bug report logs - #59947
30.0.50; Underline of tab-bar face does not respect x-underline-at-descent-line

Previous Next

Package: emacs;

Reported by: Gabriel <gabriel376 <at> hotmail.com>

Date: Sat, 10 Dec 2022 18:28:02 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Gabriel <gabriel376 <at> hotmail.com>
Subject: bug#59947: closed (Re: bug#59947: 30.0.50; Underline of tab-bar
 face does not respect x-underline-at-descent-line)
Date: Sat, 10 Dec 2022 19:45:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#59947: 30.0.50; Underline of tab-bar face does not respect x-underline-at-descent-line

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 59947 <at> debbugs.gnu.org.

-- 
59947: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59947
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Gabriel <gabriel376 <at> hotmail.com>
Cc: 59947-done <at> debbugs.gnu.org
Subject: Re: bug#59947: 30.0.50; Underline of tab-bar face does not respect
 x-underline-at-descent-line
Date: Sat, 10 Dec 2022 21:44:24 +0200
> From: Gabriel <gabriel376 <at> hotmail.com>
> Date: Sat, 10 Dec 2022 16:28:52 -0300
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> >
> > The x-underline-at-descent-line option is only supported for windows
> > that display buffers.  And the tab bar uses a pseudo-window that has
> > no buffer (like the tool bar in builds that don't have a
> > toolkit-provided tool bar).
> 
> Thanks for the explanation, Eli.  In this case, feel free to close this
> bug report.
> 
> So it works for tab-line because it is displayed in a "real" window,
> right?

Yes.  A tab-line is similar to the mode-line and a header-line, and
uses the same display routines.

[Message part 3 (message/rfc822, inline)]
From: Gabriel <gabriel376 <at> hotmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; Underline of tab-bar face does not respect
 x-underline-at-descent-line
Date: Sat, 10 Dec 2022 15:22:20 -0300
[Message part 4 (text/plain, inline)]
Description:

Apparently, the underline property of tab-bar (and tab-bar-*) face does
not respect the option x-underline-at-descent-line.  When
x-underline-at-descent-line is set to t, the underline is displayed at
descent level (below of bottom box), but in tab-bar face it's displayed
at the baseline (above of bottom box).  See steps below and attached
images for more information.

Steps:

1) emacs -q (master "fbbf3610fd5b27873e13cfd7702d5b0bbb15c2f8")

2) Enable tab-bar and tab-line:

(progn
  (tab-bar-mode 1)
  (global-tab-line-mode 1))

3) Set box, overline and underline of tab-tab face:

(set-face-attribute 'tab-bar
                    nil
                    :box '(:style flat-button
                           :line-width 12
                           :color "green")
                    :overline "red"
                    :underline "red")

Result: a green box is displayed in tab-bar, a red overline is displayed
above of top box and a red underline is displayed above of bottom box.

4) Set box, overline and underline of tab-line face:

(set-face-attribute 'tab-line
                    nil
                    :box '(:style flat-button
                           :line-width 12
                           :color "yellow")
                    :overline "blue"
                    :underline "blue")

Result: a yellow box is displayed in tab-line, a blue overline is
displayed above of top box and a blue underline is displayed above of
bottom box.

See image step-4.png

Note: I am not sure why the underline and overline of tab-bar face are
not extended as in tab-line.  I tried many approaches (e.g. using
:extend t, using other tab-bar-* faces, tweaking tab-line-format etc)
but nothing worked for me.  Perhaps it's something related to the bug
reported here.

5) Set x-underline-at-descent-line:

(setopt x-underline-at-descent-line t)

Result: The tab-line underline is now displayed below the bottom box,
but the tab-bar underline is not affected.  I tried many approaches
(e.g.: tweaking the variables x-underline-at-descent-line,
x-use-underline-position-properties and underline-minimum-offset, using
other tab-bar-* faces etc) to make it work, but nothing worked for me.

See image step5.png

[step-4.png (image/png, attachment)]
[step-5.png (image/png, attachment)]
[Message part 7 (text/plain, inline)]
---
Gabriel

This bug report was last modified 2 years and 165 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.