satya164 / Evolve

Evolve is a simple and minimal light theme designed to be easy on the eyes.
http://fav.me/d4dn66o
GNU General Public License v3.0
24 stars 2 forks source link

Black areas in some apps on Gnome 3.10 #9

Open pmknutsen opened 10 years ago

pmknutsen commented 10 years ago

I found that some apps have black areas after upgrading to Gnome 3.10 and enabling the Evolve GTK theme. See screenshot below as an example from the mail client Evolution 3.10.4 and gedit. This only happens when the Evolve theme is enabled, and not with any other theme. There is a bug related to this on Gnome Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=671437

Might there be a work-around that can be performed on the theme itself?

evo_black_evolve_theme gedit_black_evolve_theme

satya164 commented 10 years ago

Do you have overlay scrollbars enabled by any chance?

pmknutsen commented 10 years ago

Yes, I had overlay scrollbars enabled. I have disabled these now and note a difference. The black area in gedit is gone, as well as around the Mail/Contacts/etc buttons in Evolution. However, the black area in the space with email headers (top/right screenshot above) still persist.

pmknutsen commented 10 years ago

I received a reply from Milan Crha over at evolution-list: https://mail.gnome.org/archives/evolution-list/2014-April/msg00142.html

It should be possible to fix this problem by adding some definitions to the theme's stylesheet. I looked briefly at the source of the built-in Adwaita theme (http://ftp.gnome.org/Public/GNOME/sources/gnome-themes-standard/3.10/). I could not find a specific fix to the background issue. There is this secton in /Adwaita/gtk-3.0/gtk-widgets.css (line #503):

/* needed for webkit/GtkStyle/Evolution compatibility */
GtkHTML:active,
GtkHTML:active:backdrop,
.entry:active,
.entry:active:backdrop {
    color: @theme_unfocused_selected_fg_color;
    background-color: @theme_unfocused_selected_bg_color;
}

My CSS knowledge is only basic, but it does not seem related.

As a simple work-around, I added this line at the top of /usr/share/themes/Evolve/gtk-3.0/gtk-widgets.css:

* { background-color: @theme_bg_color; }

The background color should now default to @theme_bg_color whenever the stylesheet does not explicitly define an element's background color.

It may be too risky of a fix, but it did correct the Evolution issue. Also, it fixed similar black background issues in Gnome Tweak and gedit also when overlay scrollbars are enabled.

A better fix would be to explicitly define background-color for all missing elements, but I don't know which they are.