Subject: Re: bug#63472: 30.0.50; internal-border-width > 0 "eats" tab-bar for Emacs --pgtk

From: Ruijie Yu <[email-masked]>
Date: Sat, 13 May 2023 10:19:08 +0800

Kristofer Hjelmtorp via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <[email-masked]> writes:

> The problem is the interaction between the frame parameter 
> `internal-border-width'
> and `tab-bar-mode' when Emacs is compiled with '--with-pgtk'. 
> When `internal-border-width' is larger than 0 and tab-bar-mode is 
> active the result is that
> the bottom of the tab bar is overwritten/blocked depending on how 
> high the value of 
> `internal-border-width' is. 
> If you have compile Emacs with '--with-pgtk' you can reproduce 
> this with:
> 1. Start Emacs with: 'emacs -Q'
> 2. In *scratch* buffer, evalute:
>    (tab-bar-mode +1)
>    (modify-all-frames-parameters
>    '((internal-border-width . 10)))
> 3. The bottom half of the tab bar should now be hidden/blocked. 

Reproducible on a 3-days-old master, in-source Emacs build.

--8<---------------cut here---------------start------------->8---
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.17.8) of 2023-05-11 built on fw.net.yu
Repository revision: e4c8ba6c0589f1ba0ba9993c4f1e9c0821d3ca6c
Repository branch: master
System Description: Arch Linux

Configured using:
 'configure --sysconfdir=/etc --prefix=/usr --localstatedir=/var
 --with-cairo --with-harfbuzz --with-libsystemd --with-modules
 --with-pgtk --with-native-compilation'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
--8<---------------cut here---------------end--------------->8---

Additional observations:

1. I have the Emacs frame in a floating window (on Sway).  When I hover
away from it the first time after running (2), the frame shrinks a bit.

2. When you hover over the buttons on tab bar (such as * or +), the full
tab bar appears until you hover away.

> In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.37, cairo version 1.16.0)
> System Description: Debian GNU/Linux 11 (bullseye)
> Configured using:
>  'configure
>  CONFIG_SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash
>  SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash
>  --prefix=/gnu/store/hv32wgilbr77m9ihmxp5b5fwsk6x95bh-emacs-next-pgtk-30.0.50-0.ac7ec87
>  --enable-fast-install --with-pgtk --with-modules --with-cairo
>  --with-native-compilation --disable-build-details'
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ 
> JPEG
> JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES 
> NATIVE_COMP
> NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS 
> TIFF
> TOOLKIT_SCROLL_BARS TREE_SITTER XIM GTK3 ZLIB

-- 
Best,

RY