--- Begin Message ---
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 |
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
Description: PNG image
step-5.png
Description: PNG image
---
Gabriel
--- End Message ---
--- Begin Message ---
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@hotmail.com>
> Date: Sat, 10 Dec 2022 16:28:52 -0300
>
> Eli Zaretskii <eliz@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.
--- End Message ---