Make 32bit programs use the current GTK theme

Problem: on a Slackware64 multilib system, 32bit applications will not use the current GTK theme by default.
Solution: first, make your system multilib, following AlienBob’s instructions and check the corresponding section from Slackware-FAQ. I used exactly same engine as the example — murrine. So:

Install murrine and murrine-themes from SlackBuilds.org. I took the 32bit murrine engine from a virtual machine running Slackware32 and converted it to a compat32 package:

convertpkg-compat32 -i murrine-0.98.1.1-i486-1_SBo.tgz -e tgz

I prefer to keep the tgz extension, so I can easily open the package with file-roller and check that all is fine. If some of the contents will overwrite files from murrine-0.98.1.1-x86_64-1_SBo.tgz, delete them and save the tgz. Install it from /tmp and let’s make programs use the murrine engine. In case of Skype I created a “wrapper” /usr/local/bin/skype-gtk containing:

#!/bin/sh
"export GTK_PATH=/usr/lib/gtk-2.0"
/usr/bin/skype

Then edit /usr/share/applications/skype.desktop:

[Desktop Entry]
Name=Skype
Comment=Skype Internet Telephony
#Exec=skype %U
Exec=/usr/local/bin/skype-gtk
Icon=skype.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
MimeType=x-scheme-handler/skype;
X-KDE-Protocols=skype

Save and restart Skype if running. Since Skype is a QT4 application, check the previous post about making QT4 apps inherit your GTK settings.

UPDATE (09 May 2015): creating a “wrapper” and modifying the .desktop file are no longer needed.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s