nEXT Browser - WebKit based browser for macOS with Emacs shortcuts, written in Common Lisp

in technology •  11 months ago

Released just two months ago in September of this year, the nEXT browser is slowly gaining popularity among people who spend their day working with the Emacs text editor, it has 441 stars on Github right now. An Emacs-like web browser is of course a niche product, but programmers should love it :)

Having to switch to using the mouse again when you just want to browse the internet can get you out of the keyboard-only Emacs flow, but with nEXT, you can keep using the Emacs shortcuts you are used to to not only open, close and switch between tabs, but also to navigate on websites themselves, so you can browse completely with only the keyboard, never having to touch the mouse once.

Bildschirmfoto 2017-11-27 um 22.40.27.png

C-l lets you enter a URL to open in the browser, C-n moves up and C-p down a web page. C-g enters a special mode where every link on the site will show a two character combination in yellow, like “AZ” or “CY”. Entering that into the minibuffer makes nEXT open that link. M-g does the same, but opens the site in a new background tab, and S-g opens it in a new tab and displays it.

Bildschirmfoto 2017-11-27 um 22.43.34.png

C-x b switches between tabs, C-x k closes them. C-[ and C-] can be used to cycle between tabs.

The history works a bit differently than in other browsers. Instead of a flat structure, the history in nEXT is a tree. So if you go to a site, click on a link, go back, go to another site, you cannot usually go back to the link you had clicked before. With nEXT, you can. C-f navigates the history forward, and M-f goes down the tree (if there is one at that point). C-b and M-b move back.

S-b s bookmarks the current page, S-b k deletes it, and S-b o open’s a bookmark.

How to quit nEXT? What do you think? C-x C-c of course, just like Emacs ;)

Keyboard shortcuts can also be customized in the ~/.next.d/init.lisp file, again very similar to Emacs. But it’s not just keyboard shortcuts you can customize, just like Emacs, you can customize pretty much everything, that is why nEXT actually stands for “infinitely extensible”. 100% of the browser’s API is exposed and ready for you to be used with Common Lisp.

The only thing a lot of people will miss right now is support for an Ad blocker. The nEXT developer is planning to build one right into nEXT, but until then you’ll have to deal with the ads. nEXT is very actively developed, since the first version two months ago, four new versions were released, the most recent and fifth release was just a few hours ago.

The browser is quite small, 15 Mb compressed so it’s a quick download and 69 Mb uncompressed for the Mac Version. Google Chrome is 360 Mb in comparison and Firefox Quantum is 163 Mb. It uses Cocoa for the GUI on Mac and GTK on Linux.

You can download the Mac version from the nEXT website right now, the Linux version hasn’t been released yet.

Or rather, there used to be a Linux version based on Qt, but since the developer felt Qt was too slow on Mac he changed the backend to native Cocoa for Mac and GTK for Linux, but the work on the GTK version isn’t done yet. A Servo (Firefox Quantum rendering engine) version of nEXT might also be possible in the future, since nEXT can be modified to run on different backends, not just WebKit. The developer nearly chose Servo instead of WebKit, but it wasn’t stable enough yet when he tested it.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!