November 7, 2009

Making Firefox 3.x Look at Home in KDE4 (Part I)


We all know and most of us have a high degree of appreciation for Firefox. You know, that little browser with all the cool and productive add-ons that most of us use daily in our Linux computing endeavours. Most Linux distributions include Firefox as the default browser of choice for day-to-day surfing needs. And rightfully so, since at last count the 'fox has nearly a 25 percent market share. And KDE is no exception here - most distributions, including Linux Mint KDE CE, include Firefox as the default web browser of choice.

There's only one problem...uh...Firefox looks rather drab and dreary in KDE. Uninspired if you will. And doesn't always do things in a way that is KDE-ized. So what to do? Well, there are a few things you can do to make your Firefox look a little more at home in KDE. And, play nicer with KDE too. This article will list a few things you can do to make your Firefox experience a better one in Linux Mint KDE, or any KDE distro that you happen to be using. If you have other tweaks you have found, let me know and I will add an addendum to this post.

The Problem:

Here's the main issue: Forefox 3 is written in GTK. KDE-native applications are written in QT. And as you know, you can mix and match GTK and QT apps in KDE. However, you do so at the cost of aesthetics. While Firefox may look at home in a Gnome environment, it just doesn't look all that swift in KDE. There is also the issue of how downloads are handled by default in Firefox versus how they are handled by default in KDE. Instead of trying to associate every default KDE application in the 'preferences' section of Firefox, wouldn't it be easier just to have Firefox get on board with the KDE program and know what to do by default? Of course it would! Ready? OK. Let's give our little Mozilla browser some KDE love.

Step 1 - Configure how KDE treats GTK applications

You may have already done this step, but in case you haven't, go to computer > system settings > appearance and look for the entry near the bottom that says GTK Styles and Fonts. The style you select here should be the same as your preference listed under the Style section above. So what we want to do here is check the box that says "Use my KDE style in GTK applications". This helps somewhat for consistency - not just within Firefox, but in any GTK application. A good example of this would be any application from the Ubuntu repositories (save the KDE-specific applications), or anything you might download from GetDeb.net, which contains Gnome applications by default.

Step 2 - Install a KDE4 theme for Firefox

I stumbled on this one while going to the Firefox add-ons website and entering "KDE4" as a search term. What I found was - not much! However, I did manage to find an add-on called KDE4 + Firefox. Now I was put off at first, because the Mozilla Add-ons page listed this particular Add-on as being for an older version of the Firefox browser. If you go there you will notice that the theme is not installable by default from the Add-ons page. Fear not, as the Add-on is available for download from the author's website. And you guessed it - luckily it works just fine with Firefox 3.x. Just click on the author's Firefox Theme for KDE4 homepage and download it from there.

The theme uses KDE4 Oxygen icons for Firefox, making it appear right at home in your KDE4 desktop world. Now, with the Oxygen icons and KDE handling your GTK applications, you suddenly have a browser that looks like it belongs on your desktop! The picture here does not really do this theme justice - it looks very pleasant and right at home. The author has a donation section on his web page. If you feel inclined to send him a few shillings, I'm sure he won't mind at all :)

Step 3 - Make Firefox a little more like Konqueror

If you are a long time KDE user, you might be used to using Konqueror as your web browser, as well as possible your file manager. If so, this Add-on will make your Firefox life a little easier by adding navigation and zoom buttons to your navigation bar. Sometimes, it's the little touches that make all the difference.

I did notice that when I installed this Add-on, I had to go to view > toolbars > customize... to add these buttons. But they do work, and come in handy. I especially find myself using the 'Clear location URL' button quite a bit. Beats holding the backspace button down for those long URL's.

Step 4 - Make Firefox use KDE dialogue boxes

This one I picked up while installing the Add-on above. So additional credit goes to Ahmed Louali, the Konquefox Add-on creator, for posting this.

Enter "about:config" in the address bar, look for the "ui.allow_platform_file_picker" key and change its value to "false".


Easy, right? Now you have dialogue boxes that look like they belong in KDE, not the drab, dreary, flat, plain, boring, vanilla, white bread ones that are the default. Was that a bit excessive of a description?






Step 5 - Using KGet with Firefox to manage downloads


This is one I like a lot. In order to use KGet with Firefox you need to install the FlashGot Add-on. Not only do you get to use KDE's versatile download manager KGet to manage all of your downloads, but FlashGot adds several useful features on top of this functionality. In a word:

FlashGot is the free Mozilla / Firefox / Flock / Thunderbird extension, meant to handle single and massive ("all" and "selection") downloads with several external Download Managers.




As you can see, FlashGot brings a lot to the party. Peter Upfold has a nice article on using FlashGot with Firefox within KDE over at FOSSwire. Check his article out for more information. For me to add anything else on the matter would simply be redundant.

For continued reading, and some alternatives to the items posted in this article, you can read the ongoing discussion on the matter over the the KDE Community Forums.

Many thanks to the posters over there for their ideas and input. This article is not an extensive list by any means. If you have some ideas on better KDE Firefox integration, please drop a line in the comments section and join in the discussion over at the Linux Mint Forums.

[edit 1/7/2009- Part 2 is continued here]