protesilaos / spacious-padding

Increase the padding/spacing of GNU Emacs frames and windows.
GNU General Public License v3.0
59 stars 2 forks source link

Unexpected behaviour regarding mode lines border and background colors #16

Open renbus opened 3 weeks ago

renbus commented 3 weeks ago

Hello,

I would like to know if the following is intended, I believe it is not.

First, I start with emacs -Q.

Then, if I evaluate (describe-face 'mode-line), the following is set by default, that's Emacs default mode-line:

Foreground: black Background: grey75 Box: (:line-width -1 :style released-button)

(Everything else is unspecified.)

Then I evaluate the following:

(package-initialize)
(spacious-padding-mode 1)

The padding kicks in, like I would expect, but the mode-lines background color turns white, with a grey thick border. If I re-evaluate (describe-face 'mode-line), I now get the following:

Foreground: unspecified Background: unspecified Box: (:line-width 6 :color grey75 :style nil)

Why did spacious-padding-mode changed the appearance of the mode-line like this (more precisely, why did it change the Foreground and Background colors)? The manual, at 1.2, says:

By default, ‘spacious-padding-mode’ does not refashion the mode lines other than adding to them some extra padding (see Set the exact spacing values).

That's what I would have expected, so shouldn't the mode-line have remained with a "grey75" background...?

If then I evaluate (spacious-padding-mode -1), and (describe-face 'mode-line), everything is now "unspecified", and the background of mode-lines remain white.

Strangely, if I re-evaluate (spacious-padding-mode 1) again, now the mode-lines get a black border...! And the (describe-face 'mode-line) now says that "Foreground" and "Background" are still unspecified, while "Box" is now "(:line-width 6 :color white :style nil)" (while it appears black!).

In other words, how come is Spacious Padding changing the mode lines foreground and background colors? Shouldn't it simply modify the padding (thus the mode-lines borders)?

I am using:

GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) on Arch Linux

Configured using: 'configure --with-pgtk --with-native-compilation=aot --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --with-tree-sitter --localstatedir=/var --with-cairo --disable-build-details --with-harfbuzz --with-libsystemd --with-modules 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/emacs/src=/usr/src/debug/emacs -flto=auto' 'LDFLAGS=-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto' 'CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/emacs/src=/usr/src/debug/emacs -flto=auto''

Thanks a lot for your support and great packages!