mate-desktop / mate-themes

Official themes for the MATE desktop
https://mate-desktop.org
GNU Lesser General Public License v2.1
76 stars 45 forks source link

use HighContrastInverse theme from gtk+ #210

Closed raveit65 closed 6 years ago

raveit65 commented 6 years ago

Since HighContrastInverse is available by gtk+ we don't need to update our fork. We simply ship the gtk+-2, metacity theme and a index.theme file which use the gtk+-3 part from gtk+. That's it.

raveit65 commented 6 years ago

@alexarnaud Please test.

lukefromdc commented 6 years ago

I got these errors on running ./autogen.sh --prefix=/usr

Makefile.am: installing './INSTALL'
configure.ac:44: error: required file 'desktop-themes/HighContrastInverse/Makefile.in' not found
configure.ac:44: error: required file 'desktop-themes/HighContrastInverse/gtk-2.0/Makefile.in' not found
configure.ac:44: error: required file 'desktop-themes/HighContrastInverse/gtk-2.0/gtkrc.in' not found
configure.ac:44: error: required file 'desktop-themes/HighContrastInverse/metacity-1/Makefile.in' not found
configure.ac:44: error: required file 'desktop-themes/HighContrastInverse/pixmaps/Makefile.in' not found
desktop-themes/Makefile.am:1: error: required directory desktop-themes/HighContrastInverse does not exist
autoreconf: automake failed with exit status: 1
raveit65 commented 6 years ago

Opps, PR is updated. Try again please.

monsta commented 6 years ago

Looks ok, as I don't use a11y themes anyway.

monsta@asylum:~$ ls -l /usr/share/themes/HighContrastInverse/
итого 32
drwxr-xr-x 2 root root  4096 апр 17 21:48 gtk-2.0
-rw-r--r-- 1 root root 10643 мар 31 13:56 index.theme
drwxr-xr-x 2 root root  4096 апр 17 21:48 metacity-1
drwxr-xr-x 2 root root 12288 апр 17 21:48 pixmaps

Not sure if this could conflict with old GTK+2 and Metacity themes with the same name from GNOME (did such themes exist?).

monsta commented 6 years ago

Also I couldn't find anything from upstream in /usr/share/themes/HighContrastInverse. In which version did they add that theme?

lukefromdc commented 6 years ago

My current theme directory for HighContrastInverse is empty, and GTK3 does not ship a theme by that name, so I think it's just the HighContrast theme (compiled in the same way as Adwaita rather than in /usr/share/themes) with the colors inverted. Not sure but that's what it looks like. I've always had that theme available, but even back to GTK 3.14 it does not come from a separate theme directory.

raveit65 commented 6 years ago

The gtk3 parts of themes from gtk+ are shipped with a gresource file nowadays, imo. For adwaita, adwaita-dark and HighContrast gnome ships a gtk+-2 part, for this reason they need a folder under /usr/share/themes. If they decided to create a gtk+-2 theme again with a folder, we can rename our folder quickly and ship only a metacity theme plus a index.theme file. Same what we did for HighContrast theme. With gtk+-3.20 i simply copied their theme to our repos to avoid porting our old theme to 3.20 syntax. Since this time we didn't change anything. So, our theme isn't really an own theme and we can get rid of it safely. As a side affect this will reduce the workload.

monsta commented 6 years ago

Hmm, GResource... can mate-appearance-properties load such themes? Either it can't, or I don't have the necessary packages installed - but I thought it should be a part of GTK+ package itself?

I have the following in mate-appearance-properties:

Both items on the main page seem to come from our index.theme files:

raveit65 commented 6 years ago

Hmm, GResource... can mate-appearance-properties load such themes?

It can be load if you choose the edit-menu button. In those list you see the themes. But without having an index.theme file with gtk/metacity/icon-theme the thumbnail won't be created.

monsta commented 6 years ago

Yeah, I know it won't appear on the main page w/o index.theme. But I also don't see them in GTK+ section when I go to details dialog.

monsta commented 6 years ago

Ok, I didn't have gnome-accessibility-themes package installed. So I've installed it... and interesting, it has MetacityTheme set in its index.theme file.

Our theme - /usr/share/themes/ContrastHigh/index.theme:

[X-GNOME-Metatheme]
GtkTheme=HighContrast
IconTheme=Adwaita
MetacityTheme=HighContrast
CursorTheme=Adwaita
CursorSize=24

Their theme - /usr/share/themes/HighContrast/index.theme:

Type=X-GNOME-Metatheme
...
GtkTheme=HighContrast
MetacityTheme=HighContrast
IconTheme=Adwaita
CursorTheme=Adwaita
CursorSize=24

Now I have duplicate themes in thumbnails :slightly_smiling_face:

This is gnome-accessibility-themes 3.22.2 in Debian Stretch, so it's not very new. Should we drop our ContrastHigh then?

monsta commented 6 years ago

There was no any HighContrastInverse bits in the package though, maybe it had been added later. I'll check it in more modern systems as well.

monsta commented 6 years ago

Ah I see... they don't have metacity-theme-1.xml, we should keep our own. But what about our index.theme?

raveit65 commented 6 years ago

In f26

[root@mother rave]# yum-deprecated provides /usr/share/themes/HighContrast/index.theme

adwaita-gtk2-theme-3.22.3-2.fc26.i686 : Adwaita gtk2 theme
Quelle      : fedora
Übereinstimmung von:
Dateiname     : /usr/share/themes/HighContrast/index.theme

adwaita-gtk2-theme-3.22.3-2.fc26.x86_64 : Adwaita gtk2 theme
Quelle      : fedora
Übereinstimmung von:
Dateiname     : /usr/share/themes/HighContrast/index.theme
[root@mother rave]# cat /usr/share/themes/HighContrast/index.theme
<cut>
Encoding=UTF-8
GtkTheme=HighContrast
IconTheme=Adwaita
CursorTheme=Adwaita
CursorSize=24

I will check it later in f28. We ship the index.theme file in another dir.

[root@mother rave]# cat /usr/share/themes/ContrastHigh/index.theme
<cut>
[X-GNOME-Metatheme]
GtkTheme=HighContrast
IconTheme=Adwaita
MetacityTheme=HighContrast
CursorTheme=Adwaita
CursorSize=24

Of course i am happy to remove our fake dir it it isn't necessary.

monsta commented 6 years ago

Ok, Debian Stretch is too old for this... https://github.com/GNOME/gnome-themes-extra/commit/0fb555d0bc1b78c7f208e7f4adcf65e35f72cfc3

Looks like we still need to keep it.