September 6, 2006

Hail the Konqueror

Author: Joe 'Zonker' Brockmeier

Many KDE users tend to take the Konqueror Web browser for granted, but that's a mistake. Konqueror may not be able to replace Firefox as a Web browser for every site, but it does a lot more than just simple browsing.

About 95% of the sites that I visited look and feel exactly the same in Konqueror as they do in Firefox, but a significant number of "Web 2.0" sites do not work or have some missing functionality. On the Netflix site, for example, in Firefox, you'll see an additional information overlay when you hover the mouse over a movie thumbnail, but in Konqueror nothing happens. When using Konqueror with Gmail, you'll be redirected to the plain HTML view of the site -- which is adequate, but not quite as useful as the AJAXified version that works so well in Firefox. The Yahoo! homepage rejects Konqueror, suggesting that you "upgrade" to Internet Explorer, Firefox, or another supported browser, but if you set the browser identification to Firefox, Yahoo!'s home page, Yahoo! Mail, and My Yahoo! pages work just fine.

I've had no luck at all trying to use Konqueror with Google Calendar, Writely, Google Spreadsheets, Google Pages, the TinyMCE editor in WordPress, and a number of other online application sites. That's a hefty list of sites that don't work properly with Konqueror, but it's still only a small fraction of sites that I visit -- the vast majority of sites I've tested work just fine.

Given the number of sites that reject Konqueror, you might get the impression that Konqueror is less than standards-compliant. Actually, the reverse is true -- Konqueror is compliant with most, if not all, Web standards. Unlike Firefox and IE, Konqueror actually passes the Web Standards Project Acid2 test. Unfortunately, standards and actual practice tend to differ, so you may need to keep Firefox handy for a handful of sites.

Konqueror has one other drawback compared to Firefox: It lacks extensions. Konqueror does have extension support, but I've had little luck actually finding extensions for Konqueror. Since the browser isn't as widely used as Firefox, it doesn't seem like much effort is going into producing extensions.

Where Konqueror shines

If Konqueror doesn't handle all of the sites that I visit as well as Firefox, why use it at all? The primary reason is that Konqueror integrates well with the KDE desktop environment, where I spend most of my time. For example, I use Akregator to read RSS and Atom feeds. Konqueror detects feeds on any page that you browse and allows you to set up new subscriptions directly in Akregator. When Akregator reads feeds, it uses the KHTML engine for displaying pages, so you're really using Konqueror (or a piece of it, anyway) to browse inside of Akregator.

Konqueror also works well with KGet, a download manager that allows you to drag and drop links to download files, and amaroK, for listening to music streams. Konqueror uses the KDE Wallet system to store passwords for sites.

Konqueror also has a handy feature for navigating from the keyboard, rather than using the mouse. When browsing, just press the Ctrl key, and Konqueror will pop up yellow squares next to each link on the current page with a number or letter. Instead of having to click the link, just press the associated letter or number on your keyboard to follow that link. This feature is really useful, but not quite perfect -- Konqueror sometimes ignores links, and if a bunch of links are grouped closely together, the squares can overlap to the point where you won't be able to see the letter or number for each link.

Konqueror's tab features are similar to those of Firefox, but Konqueror allows you to detach tabs using the context menu. I'm sure there's probably a Firefox extension that allows this as well, but I like being able to remove a tab from the current Konqueror window.

Tabbed browsing support is great for viewing multiple sites one at a time, but Konqueror kicks it up a notch with split windows. Its window can be split horizontally or vertically (or both), and you can browse different sites in each pane. This is useful if you're composing a blog post and want to refer to someone else's post on the other side, or if you just have a site that you want visible all the time, such as a Nagios window, where you can keep an eye out for any alerts.

My favorite application for the split-screen browsing, though, is being able to drag a link from one pane to the other, so I can follow links from a blog or news site without losing the original page, opening a new window, or popping open a new tab. Note that, thanks to Konqueror's ability to view many file types, this works for PDF files and other documents too. There's something to be said for being able to line up two different documents next to one another, rather than switching back and forth between windows.

Beyond browsing

Konqueror is not just a Web browser, of course -- it's also a file manager, "universal viewer," and more. As a full-featured file manager, it supports thumbnail preview of images, PDF files, and many other file types. It's extremely configurable, and you can perform all sorts of actions on files with just a right-click. Want to email a file to a friend? No problem, just right-click and select "Actions -> Email File" from the context menu. Want to compress a folder into a gzipped tarball, or create a data CD out of a folder? Again, one mouse click and you're on the way.

Konqueror also supports viewing files inline, so you can open PDFs, JPEGs, GIFs, PNGs, and other image files, browse ISO images as a local filesystem, and more. If a filetype isn't supported, Konq usually "knows" how to handle the filetype and will pass the file off to the appropriate handler. For instance, if I browse my mail folder and click on one of the mail files, Konq will pass that off to KMail, where I can view the message. If I click on a log file, Konqueror will pass it off to KWrite.

Konqueror's file handling is, of course, highly configurable. If you don't want to open log files in KWrite, it's easy to edit the file properties and configure Konqueror to open log files in another editor of your choice. One thing I found a bit buggy, or at least a case of KDE's default behavior being unintuitive, is that if you send a file to an application that's already open on another workspace, Konqueror will open the file in the open application without bringing it into focus or giving any sort of notification where the file has been opened. A couple of times I've wondered why Konqueror isn't sending a file to Kate, for instance, and then realized that I was viewing a different workspace than the one where Kate was already open.

The embedded viewer function is particularly handy, though it seems to be a big buggy at times. Trying to view a PowerPoint document using the embedded KPresenter KPart, for example, is a good way to crash Konqueror on my system. Most filetypes work well, though -- I've run into problems only with PowerPoint and very large PDFs.

Konqueror has support for browsing all sorts of protocols, not just FTP, HTTP/HTTPS, and the handful usually supported by Web browsers. By using the fish: prefix, for instance, you can browse another site over SSH, or use sftp: for secure FTP. Want an easy way to copy files from one server to another? Set up a split window in Konqueror, and browse both servers using fish://server, and then drag and drop files from one system to another. The only difference between working with local files and remote files using Konqueror is speed.

Konq also handles virtual filesystems. If you insert an audio CD into the computer and type audiocd:/ into the location bar, you'll be presented with a file view of the CD and potential ripping formats. For instance, when I pop a CD into my computer and browse it with Konqueror, I see a list of all tracks as WAV files, and several subfolders for FLAC, MP3, and Ogg formats. Konqueror will handle ripping the tracks just by copying the folder or files to the desktop. Similarly, you can browse an ISO image and copy files off of it as if you were moving files from a local filesystem.

Want to view your system documentation? Just type man: and the name of a command, and Konq will display a nicely formatted man page for you. This also works with GNU Info pages, if they're installed -- just type info: and the command or utility name. If you don't have the Info page installed, Konqueror will suggest the appropriate man page.

Konqueror also supports browsing Samba/Windows shares, Subversion, WebDAV, and a few others. I only wish it were possible to embed more KDE apps into Konq. I'd love it if I could, for example, embed a Konversation tab within Konqueror so I could browse on one side and keep an eye on a conversation on the other. If you click on a URL that links to an IRC channel, Konqueror will open it within Konversation by default, but it won't embed the chat inside the Konqueror window.

Need quick access to a shell? Konqueror has a built in terminal emulator that opens at the bottom of the Konqueror window. This can be handy if you're doing Web development or making some changes in your Apache configuration. Make changes using the terminal and then view them in the browser right above the terminal.

Basically, Konqueror is a one-stop application for working with all sorts of files over the Internet. Konqueror's not perfect, but it does have a lot to offer for anyone using the KDE desktop. If you're not using Konqueror already, take it for a spin and try some of the advanced features. It really has a lot more to offer than just Web browsing.

Click Here!