Conkeror: The Best Web Browser (For Emacs Users)

By Eric Larson
March 31, 2010 | Comments: 6

If you use Emacs, then you should be using Conkeror. It is a Mozilla based web browser built using XULRunner that focuses on keybindings and keyboard based usage. More importantly though it takes the concepts you are familiar with in Emacs and applies them to the web browser.

Just like in Emacs, there is a mode-line, different page modes and a highly customizable environment built on a functional language (Javascript). All the features are written in Javascript and can easily be read for inspiration when writing your own extensions. This is almost exactly the same as Emacs where you can always write some Lisp to change the way some piece of your editor works.

In the past I have made attempts to primarily use Emacs for web browsing. These traditionally fail simply because so many sites require Javascript and Flash. This means I will always have a browser open, even if I might be browsing as well in Emacs/w3m. With Conkeror though, I get the best of both worlds. All the Javascript and Flash work as well as a simple means of navigating links and reading pages.

The way navigation works is in fact a real innovation. You hit "f" and all the links in the current viewspace are highlighted with numbers. You can either type the number and or start typing some of the text of the link, which begins to reduce the set of links to those that contain the text you're typing. When the link you want is highlighted, just press enter. To further aid in this model, there are page modes that provide site specific keybindings or allow the default keybindings to fall through. For example, there is a Google results page mode that lets you hit 1-9 to visit the top 9 results.

In addition to the page modes there are also a set of web jumps. Hitting "g" on a page will open a mini-buffer area for typing in commands. This acts as URL bar as well as a way to use extra functionality. For example, if you use Delicious and you want to bookmark the page your are visiting, typing "g" and then "adelicious" will let you login and bookmark the page.

There are other helpful features such as copying links and getting help via "C-h" that help ingrain the concepts of Conkeror. Copying a link is as simple as hitting "c" and performing the same text search/selection you would do following a link. To copy the link of the current page's URL, just use "c 0". If you want to see all the keybindings (including those specific to a page mode) just use "C-h b". Again, this is the same as Emacs. Other help features can be access using the "C-h" prefix.

Even if you're not an Emacs user, the ideas behind Conkeror are very powerful. For one, it exposes the problems with dependency on the User-Agent. Conkeror is just like Firefox in terms of its features, yet it provides a very different browsing experience. It also makes the concept of a "web browser" more generic. A browser is not a window with a forward/back button and a place to enter URLs. It is a tool that renders and runs web applications.

This idea of moving the web browser from being an application like Word to a platform is critical. If browser vendors can continue to decouple their core competencies of rendering and providing a runtime (Javascript), others can come along to help provide interfaces that use the web as platform with HTML and Javascript for the UI. This is not a new idea, but being able to provide a website along with some customizations for the specific engine viewing the site makes for a powerful and safe way to enhance an application without the problems associated with a pure Flash or applet model.

I'm somewhat biased in my appreciation for Conkeror since I'm a huge Emacs fan. Yet, even if you don't use Emacs, the example Conkeror provides for web browsers as platforms is really powerful. We've all heard about using HTML and Javascript on the desktop, but I think Conkeror starts to reveal what that kind of system really could be like. A platform like Conkeror could easily lead to a framework or toolkit for building customized browser platforms. Adding a tool such as jQuery might make a great start for allowing an easy way to create a site specific extension.

None of these ideas are radically new, but the approach Conkeror presents is definitely novel. Emacs has always been an interesting platform in that it takes the idea of editing text and uses it as a framework for doing other tasks such as running a shell or using IRC. The web browser is already like Emacs in this regard. There is multimedia, chat, document editing and a whole host of other tools. We are coming to grips with the limits of using the browser in terms of functionality where a tool like Conkeror opens the door for taking the browser further. I look forward to the folks behind Conkeror continuing to refine their platform and contributing to what I believe is the real future of the web.


You might also be interested in:

6 Comments

How do you managed rss feeds in conkeror? That's a nut I haven't been able to crack...

I just started use conkeror for the first time yesterday, of some strange reason I had never heard about it, despite being an enthusiastic emacs user since 29 years. (Multics emacs, Gosling Emacs, GNU Emacs, Microemacs, Amis, Epsilon, Edwin)

I just love conkeror! I only have two problems. I don't know how to print, and I miss those hidden messages behind xkcd strips.

That about printing is strange, because I've checked all docs, the wiki, nothing. It works perfectly when the page contains a print link. What is the secret?

About the printing, if you're still interested after half a year: At least on the version I'm using right now it's M-x print-buffer.

Re: Roland Orre
That's funny, there's a configuration option specifically for XKCD. Add the following to your .conkerorrc:
xkcd_add_title = true;

See also the official docs on UserVariables.

Sweet! I have been looking for something like this. Can't tell you how many times I go to edit url, input boxes, etc. And, without thinking, try and use emacs controls.

Is it still available ?
I cannot reach conkeror.org ?

News Topics

Recommended for You

Got a Question?