Sunday, November 8, 2015

GTK+3 Build of MATE

After finalizing MATE 1.12 for 14.1, my next goal is to try providing GTK+3 version of MATE under slackware-current. Some other Linux distributions have started doing this on MATE 1.12 (namely ArchLinux and Fedora), but for Slackware 14.1, i decided to stick with GTK+2 since it still uses GTK+3-3.8, which is not very supported in MATE 1.12.

Things are different with slackware-current. Preloaded with GTK+3.18, the latest version available at this moment, it has better support from upstream MATE developers, thus it's a perfect moment to try to build GTK+3 version of MATE.

I spent my Sunday morning doing all the necessary changes for MSB project under a different branch. I tried to keep the changes as minimum as it can compared to the master branch. At the end, i also decided to remove --without-help-dir parameter in all packages so that help files are built for next release. The reason for that is because now slackware-current already included most of the webkitgtk or webkitgtk3 requirement (gstreamer, gst-plugins-base, and orc). The only requirement that isn't yet included in main tree is libwebp, which is already available on SBo. My plan is to enable help files for best desktop experiences, especially for those new to MATE Desktop. That means mate-user-guide will be moved to deps in the future. BUT in order to view the HELP files, you need yelp (already included in the testing/), but it requires webkitgtk/webkitgtk3 in order to build. It takes too much time time to build, especially in virtual machines. I'm still uncertain about including webkitgtk/webkitgtk3 in the deps. For now, people can use SBo version and that will work.

For GTK+3 build, i need to add 6 more packages, glade, gtkmm3, gtksourceview3, libunique3, libwnck3, and vte3. libwnck, vte3, and glade are co-installable with libwnck, vte, and glade's Slackware stock package.

There will be some visual changes due to the GTK+3-3.18 being used. Here's some of them

Besides GTK+3 changes, i also enable some new features in mate-applet:
  • Enable IPv6
  • Added stickynotes applet
  • Enable polkit support
I'm going to test this on a clean VM of slackware-current since i tested this on my daily desktop where i have many packages installed. If everything is working well, i might ask for help to test this packages in your machines.