GNOME Bugzilla – Bug 617797
Win32 need to downgrade to gtk-2.16 (Default theme not working under Windows)
Last modified: 2018-06-29 22:38:51 UTC
I did some research on the problem. I found the problem might come from gtk+ 2.18. I tried replace each file related to gtk+ with other 2.16 theme working copy. And found after swap lib/gtk-2.0/2.10.0/engines/libwimp.dll, the theme function finally working, but buggy. and after replace all different related *.dll, the theme works ok. So, downgrade to 2.16 might fix the problem. One more thing need to be notice, the content of etc/gtk-2.0/gtkrc should be replace by --- gtk-theme-name = "MS-Windows" --- rather than entire copy of the rc file. Otherwise, gtk2-prefs seems cannot change the theme. I also found some links related: might be the same bug in GTK+ bugzilla https://bugzilla.gnome.org/show_bug.cgi?id=598299 http://live.gnome.org/gtkmm/MSWindows comments on gtk+ 2.18: ===== Please use version 2.16 for now, not 2.18 except if you really need 2.18 stuff. This is because GTK+ 2.18 contains serious regressions on Windows. Some applications were reported to behave badly because of the new client-side-windows code in GDK, and also the XP Windows theme does not work with 2.18 and is therefore disabled. ===== And comments on gtk-win ===== You'll notice that it is still based on gtk+-2.16.6. This is due a fact that, unfortunately, gtk+-2.18.x has some problems under Windows (see bug #598299, some other bugs too). I will release a new version as soon as these problems are resolved by GTK+ developers. ===== So, my suggestion for this problem is downgrade to gtk+ 2.16, until those bugs on Windows fixed. For better result, I also suggest that we should include gtk+ themes, themes engines and GTK+ Preference Tool for Windows distribution, which are available at http://gtk-win.sourceforge.net/home/index.php/en/Home . Because there is no way to change the theme for Windows user until include these parts. And they are not big, juse 2 MB in the installer, and 5 MB in the working place. And it's better put a shortcut of "GTK Preference Tool" in start menu, so it's easy for user to change the theme. Or, directly preference option in GnuCash to change the theme, if current system is Windows.
Created attachment 161717 [details] [review] Patch to downgrade gtk to 2.16 I created a patch to downgrade GTK+ from 2.18 to 2.16, and because goffice 0.7.17 depends on GTK+ 2.18, I also downgrade goffice to 0.7.14, which is the last version depending on GTK+ 2.16.
Created attachment 161718 [details] Screenshot of Gnucash using GTK+ 2.18 (before the patch)
Created attachment 161719 [details] Screenshot of Gnucash using GTK+ 2.16 (after the patch)
Comment on attachment 161717 [details] [review] Patch to downgrade gtk to 2.16 Fine with me.
Created attachment 162679 [details] [review] Adding Gtk theme engines and themes for Windows This patch adds gtk themes, theme engines and theme selectors to Gnucash Windows installation. It also create a shortcut link in Start menu, just as proposed in the first post. We can choose different theme on Linux easily to make GnuCash appearence better. However, it's hard to do on Windows without this patch applied. First, there are only 2 themes available in current GnuCash Windows installation and only one default wimp engine. This patch will extend to 107 themes and 27 engines, which gives user a large number of options of how GnuCash is look like. Second, there is no GUI tools to control the current theme in current installation. The 'gtk2_prefs' will do the job in this patch, and for user's convenient, there is a shortcut to 'gtk2_prefs.exe' in Start menu. I think this patch will give user better experience of GnuCash on Windows, so please also apply this patch after the previous one.
Any update on this?
Review of attachment 161717 [details] [review]: In r19290
Comment on attachment 162679 [details] [review] Adding Gtk theme engines and themes for Windows Committed in r19297.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=617797. Please update any external references or bookmarks.