GNU bug report logs -
#59947
30.0.50; Underline of tab-bar face does not respect x-underline-at-descent-line
Previous Next
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
[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: 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)]
[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.