Hacker News new | comments | show | ask | jobs | submit login
Uzbl: Lightweight webkit browser following the Unix philosophy (uzbl.org)
48 points by amarsahinovic 1785 days ago | hide | past | web | 26 comments | favorite

I think people are missing the point here. So yes, the webkit portion is large and complicated, but the idea here is that you can use whatever you want to script together the ui pieces and keyboard commands etc. That is really useful if, for example, you want to use your WM's tabbing of windows, rather than have the tabs built into the browser itself (or not use tabs at all and use different desktops entirely). The point is that with some of these minimal linux systems (mostly Arch+awesome/xmonad/dwm etc), you can integrate the browser itself better because uzbl is designed to be accessed in the smallest atomic unit a browser can actually be.

Browsers are the antithesis of the "unix philosophy". They do everything from cryptography to typography to networking to accelerated graphics. And its still not enough for people.

(I don't need to mention that just because you put a thin layer on top of a monstrous browser library that does all of the above, that doesn't make the scope of your program limited, right?)

But they need to. All of those functions are necessary to interact with a world more sophisticated than that of 7-bit ACSII.

Well, an alternative, perhaps a better, world would be one where those things were provided by common high quality libraries.

Actually, I think "the application" is the antithesis of the Unix philosophy. The browser is an example, into which we're pushing more and more stuff. That said, it's certainly a spectrum, and this seems a big improvement over any other browser I've seen. I have some speculations about how to do better still but they're entirely untested...

Been using uzbl on Arch for a few months now. Great little browser!

The biggest selling point for me was the keyboard-centric control. I use a keyboard-centric window manager and I use vim for code editing, so everything I do on my Linux install is with the keyboard and uzbl makes web browsing keyboard based too.

I have to say, of all the browsers I tried, Opera's keyboard control was the best. I tried Uzbl for a bit, but I can't say it was very easy to navigate links with its keyboard controls.

Maybe you should give a try at pentadactyl (vimish behavior of firefox) http://5digits.org/pentadactyl/

What does opera use for link navigation? I just see link step/cycling in the opera documentation [1]. Is there a better paradigm than link hitting [2]? Opera always seems to have impressive hidden tricks.

[1] http://www.opera.com/browser/tutorials/nomouse/ [2] http://www.youtube.com/watch?v=YgAWfqwzxck#t=9m15s

Hum, I didn't discover link hinting in my very short stint with Uzbl, but I might say I prefer Opera's mode: Pressing shift and the arrow keys allows you to navigate links visually, i.e. as they appear on the page. Since this scrolls the page too (to the next link), this is faster when you have to scroll around to find the links.

It might not be faster than hitting one key per link, but it's more intuitive than the link-cycling all the other browsers do. Give it a shot, you might like it.

I didn't discover link hinting in my very short stint with Uzbl

Oh.. I figured that link hinting is the way of navigating links in uzbl, so if you did not discover that (the cheat sheet lists it!) then you really missed out. As for page scrolling, hjkl does that just fine IMHO (actually, I use AltGr+u/j/k/l because hjkl is not convenient on my keyboard layout).

I'll give it another shot, I basically just installed it and played around a bit with it, I didn't give it an extensive look...

One technique I use is to search to get focus on the link, and press enter. So for instance, to follow your first link I'd type ".tut[enter]", or for your second, ".tube[enter]"

This works in Firefox too, if you dismiss the search box first.

Not really better than link hinting, but good enough that I haven't felt the need to find an extension that does it.

There's no such thing as a "lightweight webkit browser". Just because you delegate all the hard stuff to a library, you're not "lightweight".

It means the UI isn't implemented in JavaScript or maybe that it doesn't support extensions. It's kind of a useless word to describe software.

Fun drinking game: drink every time you see a github project, ruby gem, or Linux package labeled "lightweight."

I would say it is a very well-defined word which means "the type of thing that I am implementing is typically very large and complicated, and I don't yet understand why".

I believe they mean the UI is lightweight. I don't think they are claiming that webkit is lightweight.

I understand what they mean, but that does not make it right. I actually like uzbl, but it is neither lightweight, nor does it follow the "Unix philosophy". By their standards, you could say that MS Word follows the Unix philosophy because, well, it does only one thing (editing texts) and some even say it does a good job at it. Yes, I am exaggerating, but an important aspect of the "Unix philosophy" is that this "one thing" a tool does should not be easily decomposable. For instance, 'cat' does actually several things (it opens a file, reads a stream, outputs it, closes the file, etc.), but it wouldn't make sense to decompose it further. "Rendering a webpage" is not one simple task, but requires hundreds of steps which actually could be splitted into separate tools. Now, such a toolset, which separately deals with stuff like ECMAscript, CSS, HTML,etc., that would interest me very much.

Personally, I would like to see a good web browser that relies just on Xlib. Literally, the only reason I install GTK on my Arch box is for Firefox or Chrome.

The Unix philsophy works great, because it allows you to pipe data from one program to another, and thus build something that you want from primitives.

Now I wonder, how can a Unixified browser combine with other shell programs in a meaningful way?

Without having tried it, I'd expect all of the controll stuff (actual browsing experience, ad blocker, bookmarker) to be written specifically for this browser. Is that correct?

Based on my experience with other software I suspect what will happen (if this catches on enough) is: The early versions will work well when piped together in more or less the intended way (admitly missing the point of the UNIX philosphy). People will start hacking together other ways of combining the pieces with each other and third party programs, and find certain combinations impossible. Based on these use cases, the program will be modified and/or new programs will be added to aid in the compatibility that was lacking or overly difficult. Eventually, new combinations will stop being difficult and people will marvel at how someone figured out how to integrate all the pieces so smoothly and/or marvel at how it was ever thought to be difficult.

Of course, if this project does not get the traction it needs from people willing to contribute (either to the code, with 3rd party scripts/programs, blogposts, ETC), then we will be stuck with programs that do not work well with other programs and turn into Windows. (In fairness to MS, powershell looks like a promising attempt to get a modern UNIX philosophy ecosystem going.)

Wow, as a emacs user, I think the "conkeror" browser is better : it's entirely based on firefox, but uses javascript as its extension languge. Just like Emacs, kernel + extension , instead of lightweight or 'unix philosophy'

It uses JavaScript as extension language, just likeā€¦ Firefox? Impressive!

I'm always annoyed when people don't realize that Firefox is basically Emacs: the actual engine is called XULRunner and has a renderer called Gecko and supports stuff like sockets. Firefox is on top of it, implemented basically in JavaScript and the UIs are described by the XUL format which can be compared to GTK+'s Glade-files, Qt's UI-files or XAML.

I came across http://pwmt.org/projects/jumanji/ today and thought it was similar to uzbl. I noticed there's not an easy way to install it short of compiling it your self on Ubuntu though. Not a big deal, really, just not something I'll attempt today.

I really like Uzbl, but I noticed that after a couple of "tabs" it gets really slow unfortunately.

Couldn't get this to run on OSX despite installing it through macports. Would love to use it as well on Windows as Chrome keeps getting more and more bloated

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact