Hacker News

Favorites Setup
Emacs Is My Browser (joshblais.com)
2026-11-15 Sun | 90 points by nyc111 | original
[−]Arubis · 2026-11-15 Sun 16:04 UTC · link
The most important part of this is toward the end, and whether you consider it a limitation or a feature is a matter of perspective: the modern commercial web does not play nice with this. So static HTML and blogs yes, Reddit and most anything commercial no.

You can actually get other close-to-browser experiences with stuff like xwidget and embedded WebKit (https://emacsdocs.org/docs/emacs/Embedded-WebKit-Widgets) but generally it’s not worth the fight for commercial sites these days; everything is vibed and only tested against Chrome, so if you’re lucky they’ll load in other Chromium browsers and _maybe_ Firefox.

[−]kkylin · 2026-11-15 Sun 17:08 UTC · link
I think that's absolutely right: whether this works or not depends on what you do.

I tried xwidget-webkit as main browser briefly, but very quickly gave up. When a collaborator sends me a Google Doc, for example, I really still need a browser to work on it. I still use xwidget-webkit daily -- it's a great PDF viewer, and really nice to be able to have Jupyter notebooks open side by side with code buffers -- but for most tasks involving the web I'll switch to a browser.

[−]graemep · 2026-11-15 Sun 18:06 UTC · link
I use Firefox and cannot remember the last time I had to switch to Chrome. Most site work with JS off too (especially if you use reader view).

Quite a lot of sites work well with other browser engines too. I have tried PaleMoon, Netsurf. Users of Apple mobile devices seem to be fine with Safari.

Really light or unusual browsers might be a problem. Dillo, for example (its very fast though).

[−]BeetleB · 2026-11-15 Sun 18:11 UTC · link
Even before I had much of the Internet ban me because I was playing with a bot, my FF profile on Linux was giving me a lot of trouble. About 6 months ago a lot of web sites barely functioned for me. I can't log in to E-trade. Home Depot and Lowes search doesn't work for me.

If I open a brand new FF profile, some of these sites do work. But I guess the combination of FF, on Linux, with my addons is triggering something.

[−]graemep · 2026-11-15 Sun 18:36 UTC · link
Possibly, I use Firefox on Linux. I am in the UK so maybe British sites are better? Maybe just luck or usage patterns. Very likely the addons.
[−]jmclnx · 2026-11-15 Sun 16:40 UTC · link
FWIW, you can login to here (https://news.ycombinator.com) using eww. The only minor issue is you are really limited to 1 line if you want to comment. And seems you cannot vote either.

I have yet to figure out how to get around those issues.

And a big plus, eww is great for resource limited systems like old 32bit laptops.

[−]kreyenborgi · 2026-11-15 Sun 18:07 UTC · link
1 line? Did you try C-q RET?
[−]jmclnx · 2026-11-15 Sun 18:38 UTC · link
This is line 2 after C-q RET
[−]jmclnx · 2026-11-15 Sun 18:40 UTC · link
No, it did not work :(
[−]cmrdporcupine · 2026-11-15 Sun 16:41 UTC · link
Unfortunately GNU Emacs is single-threaded and blocking by design and not well suited for this kind of thing. Using it for things like browser or window manager usually ends in either weird hacks or uncomfortable pauses.

I have more hope in projects like lem which implement new emacsen from scratch.

[−]armitron · 2026-11-15 Sun 17:05 UTC · link
Emacs has asynchronous IO support which is more than sufficient for networking. It is up to the relevant mode or application that runs on top of Emacs to take advantage of it and not all of them do (for example, Gnus).

There are also various multi-processing configurations for even more flexibility: multiple Emacs processes that can coordinate, Emacs modules over a C API which can create native threads outside of Emacs and so on. What Emacs lacks is parallelism inside a single Emacs process, which is arguably not needed and would be a net negative from a safety, ease of development and debugging point of view.

Look at the recently introduced canvas API (https://monadicsheep.org/blog/an-introduction-to-canvas-in-e...) for some examples of what's possible via that flexibility.

Lem is nice but nowhere near as nice as modern Emacs (and probably never will be). Emacs Lisp isn't Common Lisp but has evolved significantly and the remaining differences don't really matter in practice because Emacs momentum, massive user base and ecosystem are a tremendous advantage.

[−]juujian · 2026-11-15 Sun 16:43 UTC · link
Would love to try to explore emacs again, but the emacs pinky shenanigans are such a turn-off. Simultaneously the most efficient and possibly the least ergonomic way to navigate a computer?
[−]ohaodha · 2026-11-15 Sun 16:46 UTC · link
You can use "evil mode" for Vi-like bindings if you prefer. There are a number of Emacs "distributions" like Spacemacs and Doom Emacs which come preconfigured for Vi-like editing.
[−]Arubis · 2026-11-15 Sun 16:53 UTC · link
+100 here. Going full evil+spacemacs (for self-documenting arpeggios instead of chord sets) a bit over a decade ago transformed Emacs from a fun toy to a fulltime environment for me.
[−]bygosh · 2026-11-15 Sun 17:00 UTC · link
many people use homerow mods, but I haven't tried them personally.

if you happen to use a thinkpad and don't use the trackpoint, you can remap the two mouse buttons above the trackpad to ctrl and alt using keyd on linux. this completely solved RSI on my laptop.

[−]skydhash · 2026-11-15 Sun 17:17 UTC · link
> but the emacs pinky shenanigans are such a turn-off

Do you touch type? You’re meant to use the modifier keys on the opposite side (so use both hands) rather than stretching your pinky to press them. Also there are packages such as god-mode which help.

But the most helpful thing is doing navigation by page instead of line which reduce the use of keybindings.

[−]ixsploit · 2026-11-15 Sun 17:25 UTC · link
I've bound CTRL to Capslock and don't have much problems with it. Given that in emacs you have dired, magit, org, org-babel and now ghostel (and many more) I can't think of any more ergonomic way in using my computer. I have all my plugins like flash-jump or gptel available everywhere, it's amazing.
[−]BeetleB · 2026-11-15 Sun 18:09 UTC · link
> but the emacs pinky shenanigans are such a turn-off

I've never had this. I'm either lucky, or I know to use both Ctrl keys on the keyboard.

If you're typing C-x, you should use the right control key. The standard ergonomics advice is to use both hands when doing multiple key combinations.

Also, just use the usual cursor keys for navigation!

[−]semilin · 2026-11-15 Sun 18:16 UTC · link
Easy fix, and better than Caps-Ctrl in my opinion: swap Lalt and Lctrl. That way ctrl is under your left thumb, alt under your right. No need for pinkies at all.

You can use software like Kanata to accomplish this if you don't have a programmable keyboard.

[−]SoftTalker · 2026-11-15 Sun 18:29 UTC · link
CTRL-A seems awkward in that mapping. I still prefer swapping Caps Lock and Left-Ctrl; this gives you similar Ctrl key positioning to the old terminals (VT100, ADM-3A, early PC keyboards) that were used in the early days of emacs and are the reason for all those C- keybindings.
[−]Shellban · 2026-11-15 Sun 18:35 UTC · link
Funnily enough, I am the opposite: I tried Vim, but I preferred the "pinky shenanigans" of Emacs to reduce trying to figure out what mode I was in to just edit files.
[−]ohaodha · 2026-11-15 Sun 16:44 UTC · link
I don't want to hate on this particular post, but I really dislike the great number of blog posts, videos, and articles that have a title which says "Why I do X in <some unconventional way>" where upon reading the blog post hoping to learn some useful feature that say, browsing the web in Emacs affords you (like closer integration between research and writing for example), you learn that the benefit in question is actually that the method is less useful than conventional means.

I think the idea that you do something in a more difficult or less convenient manner for the sake of "mindfulness" or "focus" is well-established, and what I hope for (and am always disappointed by the lack of) when reading such blog posts is an actually useful feature of the unconventional method in question.

The title of this blog post promises some usefulness from using Emacs as your browser, and upon reading, you discover that the "usefulness" is the inconvenience and impracticality of using it that way.

[−]v9v · 2026-11-15 Sun 16:48 UTC · link
I'll go through some personal upsides to using eww.

The main utility I see in browsing the web through emacs is the potential to integrate it into your workflow. You can have your code/notes open in one buffer and have the website in another, which is useful for documentation, or an article you're following along, etc.

With gptel, it's easy to highlight part of a blogpost and ask an llm a question about it, or get it to rewrite or annotate the whole page.

With macros you can do basic automation, like this webscraping example here: https://nickdrozd.github.io/2018/10/17/web-scraping.html

An added bonus is that your keybindings for the rest of emacs are also valid here. (Though for that I've recently started using Glide, a firefox fork, and set all of its keymap to match my emacs bindings)

[−]AndrewKemendo · 2026-11-15 Sun 17:15 UTC · link
>You can have your code/notes open in one buffer and have the website in another, which is useful for documentation, or an article you're following along, etc.

I’m curious what the difference is between that and having pinned windows in Ubuntu

For example I’ll have sublime text, one terminal, a notepad, and a firefox window with multiple tabs, pinned to the four corners of my desktop

Everything You describe is possible without emacs so I’m genuinely trying to understand the appeal

[−]skydhash · 2026-11-15 Sun 17:29 UTC · link
> Everything You describe is possible without emacs so I’m genuinely trying to understand the appeal

The advantage is that it’s a single program with multiple windows with a shared list of buffers. So you can save transform your layout and save it, manipulate the content without any real boundary, unified bookmarks,…

Your WM can’t access sublime and firefox internals. And the last two can’t talk with each other.

[−]AndrewKemendo · 2026-11-15 Sun 17:35 UTC · link
> Your WM can’t access sublime and firefox internals. And the last two can’t talk with each other.

But why would I want them to as the default interaction?

I can ctrl-c > ctrl-v from one to the other trivially and ffx has console and inspector internals visible with one Function key press

[−]skydhash · 2026-11-15 Sun 17:51 UTC · link
> But why would I want them to as the default interaction?

Some find it useful. One can write code in vim or sublime, the only differences are the specific actions to get it done and the user experience. People will lean towards one another, not for the capability to write code, but for how it’s done.

So what I’m trying to showcase is not the capability, but the Emacs ways of getting it done. You can also implement something with a WM setup or tmux (with w3m). But it’s a different feel and effort, so people like ones and dislike the others.

[−]AndrewKemendo · 2026-11-15 Sun 18:26 UTC · link
Makes sense!
[−]BeetleB · 2026-11-15 Sun 18:06 UTC · link
If you don't want to, then you don't want to. Understand you may want things others don't, and vice versa.

Although I don't browse the web with Emacs, I see the utility.

Tell me: How would you select some text, and with a keystroke, send the selected text to yourself via email, with the URL included and the title of the page in the subject line?

[−]AndrewKemendo · 2026-11-15 Sun 18:26 UTC · link
> Tell me: How would you select some text, and with a keystroke, send the selected text to yourself via email, with the URL included and the title of the page in the subject line?

I think the takeaway for me is that emacs is for people who get enjoyment out of building their own custom computing environment

The example you describe is something I would rarely do so building a process around it would be inefficient for me but if that’s where people want to spend time then great

[−]BeetleB · 2026-11-15 Sun 18:39 UTC · link
> I think the takeaway for me is that emacs is for people who get enjoyment out of building their own custom computing environment

For long time users, that's the whole point of Emacs.

> The example you describe is something I would rarely do

I used to do it at work all the time (not with Emacs, but with AutoHotKey). Find a long article I'd really like to read, but don't want to waste time at work. With a keystroke, I'd quickly send the email to me with the URL etc.

[−]zahlman · 2026-11-15 Sun 17:16 UTC · link
> you learn that the benefit in question is actually that the method is less useful than conventional means. … hope for … an actually useful feature of the unconventional method in question.

People write these things, and use these methods, specifically because they don't conceive of usefulness the same way you do.

In this case, the justification offered doesn't mention all the various keybinds that have been pushed down to the "how" section. But clearly the simplicity is a feature:

> D will download images locally, b goes back a page, a will save bookmarks. All of this makes browsing in eww truly enjoyable.

The point is the same as usual for TUIs: you don't have to switch over to the mouse and hunt out a button, as the necessary key is always literally at hand.

People who find this sort of thing "truly enjoyable" (what clearer statement is there of featurefulness!) commonly take it for granted and don't explain the virtues of it very well. That sort of explanation is found in think pieces about TUI design more generally.

TFA describes a goal of avoiding distraction. That is not at all the same thing as "inconvenience and impracticality". Clearly the author finds these keybinds quite convenient and practical. It's just that they don't cover a bunch of web interactions that you perhaps value, but the author doesn't.

[−]AndrewKemendo · 2026-11-15 Sun 17:32 UTC · link
This is why I find the whole emacs conversation confusing

You’ll have people who demonstrate their whole set up and interactions and hot keys and shortcuts and everything and then when you say OK well why would you do it like that it all boils down to:

“This extremely precise implementation works for only me and my specific workflow”

I found that it’s almost more useful to think about emacs users showing off their org mode bindings are basically like Warhammer players showing off their painted figurines

[−]hughw · 2026-11-15 Sun 17:38 UTC · link
You can possibly learn some new setting you can add to your own flow.
[−]BeetleB · 2026-11-15 Sun 17:53 UTC · link
My config is loaded with things from posts like these.

That's their value.

[−]ohaodha · 2026-11-15 Sun 18:09 UTC · link
You mischaracterise me. I am an Emacs user and I use qutebrowser as my web browser, which uses Vi-like bindings and Python configuration. When forced by circumstance to use other browsers, I use browser extensions to add Vi-like bindings. I find it extremely efficient and enjoyable.

The keybindings aren't mentioned in the "Why?" section of this blog post, and clearly aren't the point of the post. You can get extensions to add Emacs bindings to full-featured browsers, and there's even the Nyxt browser which has Emacs keybinds and Lisp configuration.

The core reason listed in this blogpost for browsing this way is the very fact that it is less featureful and less convenient. As someone who uses Emacs, I know that eww isn't as convenient as a fully-fledged web browser and I know that sometimes the hard way of doing things can be beneficial. I found this blog post disappointing because it doesn't afford you any new information, nor tell anyone about any actually useful features about browsing in eww.

[−]jolmg · 2026-11-15 Sun 18:21 UTC · link
> I really dislike the great number of blog posts, videos, and articles that have a title which says "Why I do X in <some unconventional way>" where upon reading the blog post hoping to learn some useful feature that say, browsing the web in Emacs affords you (like closer integration between research and writing for example), you learn that the benefit in question is actually that the method is less useful than conventional means.

It wouldn't be unconventional if most found it useful. That doesn't mean the author themself doesn't find it useful:

>> I have seen in my own use of the modern browser (chromium/firefox) that it is far too easy to get distracted

They find EWW useful to cut distractions.

>> In addition to this, my belief is that we should make strides toward leaving behind Layer 8 of the internet - the limiting frontends of social platforms and locked away corners of the net that limit actual discourse (Discord, I’m looking at you). [...] The internet is just a delivery mechanism.

They also find it a useful way to stick to their ideals which I understand to be that they should be in control of the front-end and the internet is only to be treated as a delivery mechanism of information.

[−]bunabhucan · 2026-11-15 Sun 18:23 UTC · link
"I use emacs to brush my teeth" or whatever is like catnip for hacker news.
[−]bagacrap · 2026-11-15 Sun 18:49 UTC · link
Less distraction is a feature
[−]jll29 · 2026-11-15 Sun 17:11 UTC · link
Richard Stallman (RMS) also uses the Web from Emacs. But I believe he pastes URLs into a program that sends him a screen copy by email (at least as of approx. 20 years ago, when I last saw him in person).

His motive is not mindfulness, but ideology.

[−]ehecatl42 · 2026-11-15 Sun 17:43 UTC · link
Love him or hate him, but I shudder to think of a world without him. The Tech Trinity is: Thompson, Stallman and Torvalds.
[−]enjoyyourlife · 2026-11-15 Sun 17:45 UTC · link
This almost seems like satire to me
[−]SoftTalker · 2026-11-15 Sun 18:20 UTC · link
Donald Knuth has his secretary print his email. He'll handwrite replies on the paper, and she'll send them out.
[−]gib444 · 2026-11-15 Sun 18:12 UTC · link
If you're on MacOS and tempted by Emacs, the homebrew emacs-plus package will make it slightly less painful but bear in mind it really works best and fastest on proper *nix machines
[−]LordGrey · 2026-11-15 Sun 18:21 UTC · link
I use Emacs For Mac OS X. Up to date and installs via a .dmg. Great experience.

https://emacsformacosx.com

[−]gib444 · 2026-11-15 Sun 18:52 UTC · link
There is the cost of spawning a subprocess on Mac though compared to forking, and Emacs does a lot of spawning
[−]leoc · 2026-11-15 Sun 18:24 UTC · link
The one thing above all that is urgently necessary is a content-addressable replacement for (or layer above) HTTP(S) which is genuinely ready to go and has adoption which is meaningful and moving in the right direction. Unfortunately we seem to be going in the wrong direction there right now. Cute browser setups and retro-chic web servers are fun and a nice gesture but they won't get us there.
[−]TacticalCoder · 2026-11-15 Sun 18:24 UTC · link
> I have seen in my own use of the modern browser (chromium/firefox) that it is far too easy to get distracted - too easy to get off track and fall down rabbit holes that take over my day.

I have a very easy solution for that: zero sound output from my main desktop/workstation computer. I mean: technically I leave the sound drivers and the sound on, but there's nothing connected to the output (so speakers / no headphone).

The deep underlying philosophical question being: "If a PC outputs audio to nothing plugged into it, does it make a sound?"

The answer doesn't really matters though. What matters is that it's a great way to not get distracted.

My main desktop emits, on purpose, no sound since... 20 years?

For the rest, I've got laptops.

[−]jrootabega · 2026-11-15 Sun 18:32 UTC · link
I think you're in for a lot of trouble if you do this without heavy-duty sandboxing in 2026. There is going to be an Emacs security apocalypse soon.
[−]empthought · 2026-11-15 Sun 18:36 UTC · link
Can you be more specific about this?
[−]Shellban · 2026-11-15 Sun 18:44 UTC · link
Maybe I am not up to date on my browser threats, but exactly how much damage can a website without JavaScript do? The most I can think of is cross-site form requests and cookie shenanigans, but that is a problem primarily solved by web hosts, not browser providers.