pop-os / gtk-theme

System76 Pop GTK+ Theme
GNU General Public License v3.0
779 stars 80 forks source link

Transparent rendering after VTE's 0.64.0 update #505

Closed guihkx closed 3 years ago

guihkx commented 3 years ago

Describe the problem: Recently, the vte3 package (Virtual Terminal library) was updated on Arch Linux. That update introduced a bug in this theme where everything gets transparent on GNOME Terminal, like so:

image

This issue has been reported to the VTE folks about 6 months ago, but it was ruled out as a theme bug:

https://gitlab.gnome.org/GNOME/vte/-/issues/284

Steps to reproduce:

  1. Update VTE to 0.64.0
  2. Set the theme to Pop-dark
  3. Open GNOME Terminal
  4. Window contents are transparent

Distribution: Arch Linux

Pop version: 5.3.1.r3.g5ab6f1e4-1 (from this AUR package)

jacobgkau commented 3 years ago

In Pop!_OS, we don't set the terminal colors via the GTK theme; they're currently set via a gsettings override: https://github.com/pop-os/default-settings/blob/master_focal/debian/pop-default-settings.gsettings-override#L55

The background on Pop, for either the light or the dark theme, is #333333:

Screenshot from 2021-03-25 15-49-14

I see that in Arch, downgrading to VTE version 0.62.3-1 gets a legible terminal back, but the background color is #272727 in the dark theme and #ffffff in the light theme:

arch-dark

arch-light

That's just the base_color variable in gtk-theme, which GNOME Terminal previously used as a fallback. We can fix the transparency fairly easily by defining text_view_bg to be the same as base_color. It still won't be the Pop color scheme, but it will be legible again.

jacobgkau commented 3 years ago

Using the 6% darkening for the background color in the dark theme that Adwaita uses, contrast does seem a bit better:

term-2

GNOME Contrast confirms the ratio with the new scheme is greater than the old one (it's around 6.1 vs 7.2).

guihkx commented 3 years ago

Btw, I've tested the patch and now it works as expected:

image

Thank you very much ❤️