Settings

Theme

Show HN: I was tired of opening 2 tabs for every HN link, so I made a userscript

github.com

414 points by twalichiewicz 2 days ago · 132 comments · 1 min read

Reader

HN is great for the links people share, but a big part of the value I get comes from reading the discussion around them. I realized I was always opening the article in one tab and the comments in another, constantly switching back and forth.

I figured there was probably a simpler way, so I threw together this userscript to merge the two.

1. Clicking a link from Hacker News opens the article with a side panel containing the discussion. It doesn't require your credentials, is resizable, and is easy to tweak if you want to customize it.

2. If you land on an article that has previously been shared on HN, the script finds the existing discussion and adds a button in the top-right to open the panel.

Feedback welcome.

kccqzy a day ago

Feature 2 is really useful. When I land on a technical article I know chances are there will be a nice HN discussion, that may sometimes even refute the main point of the article.

Feature 1 is IMO less useful. It just suggests that people are bad at window management. We didn't like overlapping windows and finding them, so we created tabs inside windows. Then we wanted to see two things at the same time, so we created split views inside tabs (Chrome and Firefox both had this). With a good window manager neither would be necessary. Sadly the community prefers to solve this at the application level rather than the desktop level; I'm currently using Forge (https://github.com/forge-ext/forge) but sadly it's becoming unmaintained.

  • vladvasiliu a day ago

    > Sadly the community prefers to solve this at the application level rather than the desktop level

    Not only does it "prefer", they actually enforce this. I haven't found any sensible way of completely disabling tabs in either Firefox or Chromium. FF has some janky extension that kinda sorta works, but it's a hideous workaround consisting of hiding the tab bar and automatically detaching most new tabs. With the rest of the tabs, you're SOL. Haven't found anything at all for chrome.

    I very much prefer managing windows with my my... window manager. Which works the same way with all applications.

    • nektro 3 hours ago

      yes! so frustrating

    • pastage 21 hours ago

      Do you not think there are ways to organize tabs that should be applications specific?

      • vladvasiliu 21 hours ago

        I think there are, see the other comment about tree-style tabs or similar for Firefox. I can absolutely see the value in that and I don't argue for that option to be removed or otherwise degraded.

        But that's not the point. I'm not against applications offering those possibilities, and when I have to use Windows for work, I'm happy browsers have them.

        My point is that they shouldn't force users into this way of working. Browsers already support multiple windows. Why can't I just disable the whole tab feature if I don't care for it? A while ago, when tabs were still new, you had to actively opt in. The default was a new window for everything. Now this option is completely gone for some reason.

  • jitbit 17 hours ago

    I've actually created a Chrome extension for [feature 2] ages ago (mostly for myself). If the current URL is on HN - it shows it (with the number of upvotes)

    https://chromewebstore.google.com/detail/hidhfijjhnnajlkikij...

  • ksec a day ago

    Agree 100%

    I got used to opening a new tab for things to read before RSS first invented. So I guess it became a 2nd nature. I also think it is better to read the article first before going to the comments session. So Feature 1 isn't that useful.

    For feature 2 it is great. Although thinking about it I kind wish this could be done without browser extension but an actual site feature by HN.

  • ta8903 a day ago

    Not sure if I agree about using windows instead of tabs. I have hundreds of tabs open, and dozens loaded, at any moment. I'm sure that it's possible to manage all the context with separate windows via a window manager, but it would have to be a REALLY good window manager to be able to provide equivalent features of tree style tabs and separate panes and whatever else that something like Sidebery provides, and it is always easier for each application developer to implement tabs suitable for that application's requirements.

    • jiehong a day ago

      I think one of the point of the author is making might also be that a window manager could do just more, like managing windows as tabs as well.

      So that any application could have tabs, if the desktop manager would allow you to group windows as such. Same with showing a split view within such a tab as well.

      I think I agree with that. I could imaging that the browser containers of tabs would make a ton of sense if I could make a container of windows handled as tabs across different applications at the window manager level.

      • yoz-y a day ago

        Ideally the manager would have windows and containers. Containers can be nested and can be floating windows, splits and tabs. There is no reason why tabs inside a window should belong to one application.

        All that being said, navigation in such a structure would be a mess that would need a lot of learning. Also I’m sure a window manager like this already exists somewhere.

        A system wide search within tabs would help more maybe.

        Like chrome’s cmd+A but for all tabs everywhere

      • vladvasiliu a day ago

        > So that any application could have tabs, if the desktop manager would allow you to group windows as such. Same with showing a split view within such a tab as well.

        Not only that, but you could actually mix "tabs" from separate applications!

      • TeMPOraL a day ago

        Windows (IE) tried to give WM visibility into tabs long ago, but this quickly revealed a problem: if tabs are now also separate windows, they enter the Alt+Tab ring, and suddenly you're Alt+Tabbing between 5 applications and dozens of open tabs. N=1, as a tab hoader, I absolutely hated it (it also made Alt+Tab itself very slow to show and cycle).

        The general problem is that having WM handle in-app tabs means the WM has to support every single hare-brained idea about meaning and role of tabs that app developers invent, which is infeasible. Even with browsers - until recently, you had like just two types of tabs: regular tabs, and porn-mode (er, "private browsing") tabs. Then came "account containers" or whatever it was in Firefox. Then came tab groups, reading groups, and tons of other nonsense.

        OTOH, I can dream of an ideal world where the OS manages all tabs for all apps via combination of Sidebery (better "tree style tabs") and a tiling WM.

        • Asmod4n a day ago

          Edge tabs show up in alt + tab.

          • TeMPOraL a day ago

            Yes. That's why I'm not using it. I was forced to, briefly, and first thing I did was to dig up a setting to disable this.

    • dvdkon a day ago

      I use Sway and happily manage my terminal windows using its tabs and splits. I can mix other "graphical" apps with the terminals or move them to another screen, all with the same keybindings. I agree, though, that I wouldn't want to replace my Sidebery vertical tabs with this setup, but I ultimately don't see why equivalent functionality couldn't be implemented inside the window manager in some alternate universe.

      There are sadly hardly any WMs now with tabs, so having them support tree style tabs as well doesn't look too realistic.

    • jbstack a day ago

      Do you really need hundreds of open tabs though? To me this suggests a workflow issue rather than a tab management problem.

      I only keep tabs open that I'm actively working on right now (or am imminently about to switch back to). I regularly close tabs (and windows for that matter) that are only open because I forgot about them, or that I might use again but not until hours or days later. If I need them later I just open them again.

      For me, having hundreds of things open at once just creates clutter that makes it harder to focus.

      • ta8903 a day ago

        I don't know, it works for me.

        Using Sidebery panes and treestyle tabs makes it really easy to organize your tabs, I have a tree with all my tasks with relevant documentation or subtasks under each task, and I have a separate panes with all the documentation I refer constantly at the top and everything I'm reading right now at the bottom. I definitely have a lot of tabs I opened to read and never closed, but that doesn't matter since everything is arranged in an approximation of a 2D space, I still know where to look for something specific. I'm sure you feel this is weird because you've never used a tree-style tab manager, but personally I can't go back to a regular browsing setup.

        • jbstack a day ago

          You've convinced me enough to give it a try.

          I think I'd still maintain a conceptual difference between sites that are source material (e.g. documentation) or apps (e.g. Google Translate), and those that are just for browsing (e.g. news, blogs) and are more ephemeral (I may read it now, or keep it for later, but either way I'll be done with it).

          You'd open a PDF, Word document, or app in its own window which you'd manage with your DE / WM. To me it feels like a bit of an anti-pattern to have some of this type of content handled by my WM, and others by a tree-style tab manager, when they are the same "type" of content. I want to be able to press the same keyboard shortcut to switch to my documentation whether it happens to be a PDF or a website.

          On the other hand, there isn't anything else really equivalent to browsing-type content, so the tree-style tab manger feels more natural to me there.

perpil 2 days ago

This is slick. 2 things.

1. If you name your script with the extension .user.js it is easier to click on to automatically install at least with tampermonkey. 2. When I went to this link from the main page, on mobile I had to scroll to the right to see the (-) to minimize because the sidebar was too large: https://elizabethtai.com/2026/06/10/substack-writers-you-nee... It may make some sense to start minimized so I can read the article first, but I can easily modify the script to do that.

  • swyx 2 days ago

    is this better than using a chrome extension? i guess people need to have tampermonkey installed and so thats a slightly higher barrier to entry? i wonder if chrome would be interested in "sherlocking" userscripts so that we can distribute non security nightmare code easier.

    • noncovalence a day ago

      In addition to the advantage of explicitly specified capabilities mentioned by others, I'd say a userscript is also much more durable and low-maintenance than a Chrome extension. This is coming from someone who's written an extension for personal use before, and had to jump through a million hoops with Chrome Dev just to give the browser permission to run my own code that I wrote myself, and that's to say nothing of the whole mess with manifest v3 as well. Throughout the entire time I've been able to happily keep using userscripts written by myself or others with 0 maintenance required.

      • bstsb a day ago

        for me on chrome (stable), all that’s needed to install my own extensions is enable Developer Mode in chrome://extensions, then load an unpacked folder as an extension

        • noncovalence 19 hours ago

          It's been a while since I've had to do this so I'd be very happy to hear if the process has become smoother since - does it no longer give you a big warning that you've got a dangerous unpacked extension installed every time you start chrome then?

    • twalichiewiczOP a day ago

      Mostly transparency. Since this runs across pages you visit (with the sites controlled by the @include/@exclude rules at the top of the script), I like that the entire source is right there and easy to inspect before installing it.

      A userscript also let me iterate quickly without dealing with extension packaging and permissions, but being able to see and tweak the code was a big part of the appeal.

    • perpil a day ago

      Tampermonkey isn't better than using a Chrome extension, but it's less friction for a developer to build and distribute a cross browser script. If they build it as an extension, they need to target multiple browsers and get it deployed to the Firefox/Chrome web store.

      • moritzwarhier a day ago

        If you can read JS and the user script is not huge, I think it makes a huge difference.

        Apart from that, there are APIs exclusive to extensions, e.g. instrumenting client-side communication among tabs with different origins, listing all tabs, basically accessing a special API that sits on a higher-level context, and, while gating certain functionality behind user approval, and forbidding other functionality completely (at least in Manifest 3.0), extensions with the corresponding permissions can do more than a script running in the page context. They can inject these as well, though, even overriding CSP sometimes, as far as I know?

        The main problem with these permissions, and WebExtension 3.0 partly was an attempt to improve this, or at least claims it: most people give a second of doubt at best when installing an extension, as long as they think it comes from a trusted source.

      • grimgrin a day ago

        I love userscripts. Aren't we all using https://github.com/violentmonkey/violentmonkey now though?

        thought I realize "if it works it works", https://github.com/Tampermonkey/tampermonkey

      • ta8903 a day ago

        Userscripts are also less friction for the user. At least for some level of triviality.

        I would say only go for extensions over userscript if you need a settings menu (or any of the APIs the sibling comment mentions).

    • tcfhgj 19 hours ago

      tampermonkey scripts works with Firefox - chrome extensions don't

pluc 2 days ago

Firefox has a new Split View that's useful for this, but you still have to left click and select open in split view (M) then click the link. You also used to be able on some browsers to craft a link that was href="tab1.html|tab2.html", no idea if that's still a thing or if it was limited to "home page" setting.

  • dagurp 2 days ago

    Vivaldi has included split view for years (called tiles). You can also right click a link and choose open in follower tab. This lets all links clicked in one tile open in another tile. I use this regularly on HN.

    • Izkata 18 hours ago

      Way back Firefox had a Tile Tabs addon that could split tabs to arbitrary depth. "Tile Tabs WE" (WE = WebExtensions) was an attempt to replace the functionality after the Quantum change killed XUL-based addons like the original Tile Tabs, but it works by positioning whole windows.

    • vdfs a day ago

      Edge also had, and now even Chrome have it.

      Edge had the open links in the other split, chrome doesn't

  • wccrawford a day ago

    In Chrome, I just right-clicked the link above and hit "open in split view" and it did.

    It was 50/50, with HN on the left, so maybe it's not as easy to read the post in smaller windows. Otherwise, seems to provide the same service, essentially.

  • Barbing a day ago

    I accidentally closed Firefox’s last “you’ve just updated” screen which probably mentioned Split View. Couldn’t re-open it. It’s not this https://www.firefox.com/en-US/firefox/153.0.1/releasenotes/ , know if it’s mirrored?

  • werdnapk a day ago

    Thanks for the tip. Didn't know this was added.

    I generally open the HN comment link, then click the article link, read it, then click back to read the comments.

    I'll see if this split view feature works better for me though, but I think I'd prefer a horizontal split instead of vertical.

  • devsda a day ago

    Yeah Firefox split view is useful for this.

    If any of those vim extensions support link+split, and allow interaction with splits that would be even better.

  • monkpit a day ago

    Left click?

    • HelloUsername a day ago

      Maybe they have their mouse in their left hand and reversed main and secondary button?

      • pluc a day ago

        Nope, just said left when I meant right for some reason

  • ghtjason a day ago

    alt/option-clicking on the desired tab works too

jstrieb a day ago

If you use Firefox (and will pardon me plugging my own project), you might be interested in a version of this I made a while ago as a browser extension:

https://github.com/jstrieb/hackernews-button

My project is somewhat different from the userscript in that mine uses Bloom filters to check whether a link has been submitted, whereas this userscript sends every page you visit to the Algolia search API. Using Bloom filters means that there are no external requests unless you actually press the button. My project also doesn't show the comments in a sidebar.

Having a link to past discussions, whether using this userscript or my extension, is useful not only to read the comments for a page you're browsing, but also to find good sites that haven't been submitted yet!

  • jeremyjh a day ago

    I like the bloom filter idea - I agree I don't want every URL I visit to be sent to Algolia. I really like this project's UI though - automatically opening it in a pane so I don't have to leave the site to see comments is really nice.

  • avadodin a day ago

    I don't understand what the Bloom filter is supposed to achieve here. Can you elaborate?

    • danbruc a day ago

      Not the author, but this prevents leaking all URLs you are visiting to agolia. Instead of asking Was this URL submitted to Hacker News? you ask Which URLs have been submitted to Hecker News?, store that in a Bloom filter, and then use the Bloom filter to answer the question Was this URL [likely] submitted to Hacker News?

      • avadodin 12 hours ago

        Is the story being submitted a common feature like dupe detection or maybe unsubmitted link detection?

        How does the filter know anyways?

        If it is provided by the package, one could imagine adversarial scenarios where "high interest" submissions are excluded from the filter(maybe even make a custom one each time that somehow lands them in a collision) so Algolia knows exactly what it wants to know about you.

        Probably, I should have read more into both of the projects before asking.

        • avadodin 3 hours ago

          I realized a collision wouldn't help because the client would just avoid sending a request as in the normal case.

          The malicious filter would have to conspicuously avoid tracking the URLs of interest.

8ig8 a day ago

I just open the HN post and then open the article. That way I can simply go back to the comments after reading the article, whenever that may be.

  • s4i a day ago

    This. I gather interesting posts this way in my browser tabs in the phone and everytime I finish reading something I click "Back" and there's usually a discussion there, unless I opened the link originally from somewhere else than HN.

ML0037 20 hours ago

Hello,

Just for your information, when I open "https://claude.ai/new" the script automatically open a random article, do you know why?

  • twalichiewiczOP 19 hours ago

    There are several non-static pages that people have previously submitted to HN that can cause some strange behavior like this. In the latest version I just published (v1.4.7) I've excluded the main ChatGPT and Claude homepages (but not subpages) which should fix this bug.

joshdavham a day ago

I think the amount of upvotes you’re getting here suggests that it might be worth building a proper browser extension for this!

Would you be interested in making one?

abudooboo a day ago

Have you considered modifying it to trigger on every HNews click as well as with as manually triggered? As it is now it leaks browser URLs + query string + fragments to hn.algolia.com since it queries it on every single page you visit. At the very least it might be good to sanitize the queries by restricting to origin + path?

djfdat 2 days ago

This is great and is also something that I've always had an issue with.

What I do now is open the HN comments, and then when I'm ready to look at the link + comments, right-click on the title and Open in Split View.

kwar13 a day ago

I made an extension that opens both tabs for you and thus far has a whopping 6 users!

https://chromewebstore.google.com/detail/hacker-news-saved-y...

est a day ago

This is how reddit supposed to be. A universal comment box for del.icio.us

  • parpfish a day ago

    I’d love if there were different “layers” of meta discussion on top of everything on the web. Every blog and website would have an untold number of communities having discussions that are completely optional for you to view.

    Instead of browsing across sites, you’d be browsing across communities seeing the same site.

  • jedberg a day ago

    Fun story. Way back in 2008, I tried to make it exactly that. I worked on figuring a way to inject the reddit comments onto any page. Sadly at the time the JS ecosystem just wasn't mature enough to allow users to log into reddit and safely inject it onto the page.

    Disqus existed, but it worked because every page was completely independent. The discussion only existed embedded on the page.

txhwind a day ago

I also wrote a Monkey script to save clicks when reading papers: just embed PDF webview into the Arxiv abstract page. https://github.com/OneMoreSecond/FileSave/blob/master/arxiv_...

It seems the software productivity has exploded in the agent era. However, do we treat every point of daily experience seriously enough? Do we recognize such pains actively and try to eliminate them (often easy), or just tolerate infinitely?

geuis a day ago

I don't understand the problem space. Meaning I don't understand what this solves.

My use case, even on phone:

View HN

Right click link to open in new tab OR: tap/hold a link then open I a new window.

What problem is this solving?

  • monkpit a day ago

    Or, open the comments and then click the title link. Then click back when you’re done reading the article, so you can read the comments. That’s my preferred mobile workflow anyways.

  • h2aichat a day ago

    I find it useful. It saves me time and you can read both things at the same time, right?

LoveMortuus 13 hours ago

I (very) often just read the discussion on HN and don't open the links, usually just by reading the title I know what's it about and the content I receive from the discussion here, plus I get any corrections y'all find along with needed skepticism, doubts and questions.

trash_cat a day ago

Wouldn't it make sense to have it an extension? Just spontainously (without reading any instructions) I don't understand how to use this or what Userscripts Tamper or Violentmonkey is.

  • dewey a day ago

    I prefer user scripts as I have to install one extension that can load many plugins (user scripts) instead of having one extension for every tiny website tweak.

    Also much easier to glance over what a user script is doing vs. unpacking some extension and then finding the actual business logic in all the wrapper code.

e-Minguez a day ago

Can the links be opened in pairs using the split view feature? like create a split view, open the article on the left hand side and the comments on the right hand side.

Natalia724 a day ago

The mobile default seems important here: opening the panel collapsed, then preserving its size per site, could keep the first article read predictable while retaining quick access to the discussion.

franciscop a day ago

I made something slightly similar ~10 years ago where you could embed HN comments in your own site. It was the opposite end of consumer though, for webdevs to embed it.

https://news.ycombinator.com/item?id=12898366

Note: I took it down when it seemed it could degrade HN quality if people used it as normal comments, but yours is great since it's the opposite target/usage

cbhl a day ago

This is cool. Don't want to minimize that.

That said, in case it helps anyone else, my usual flow is to middle-click (by clicking my mouse wheel) both the link and the comments link which opens each in a new background tab (at least in Chrome). Hopefully that's lower-friction than what you were doing with the two tabs.

locusofself a day ago

Is it lame that (especially for super long discussions), I often open a gemini tab and summarize the comments? I like reading HN comment threads, but I often only have a few minutes and just want to get the gist of the reactions from the community for some topic.

james2doyle a day ago

Nice. I’ve been using the new split tabs in Chrome. Works perfectly. I believe Firefox had this first?

  • powvans a day ago

    The submission is cool because it opens the comments even if you just happen upon some article that also happens to have a HN discussion. That said, when I read the headline I thought the same thing, “uh, right click, open in split view?” When that feature landed in Chrome my first use case was exactly this.

Topology1 2 days ago

Phew, thought I was the only one doing that. I thought I was missing some core site feature lol.

sn9 12 hours ago

In Firefox, you can just open a new tab in split view.

Asmod4n a day ago

Just curious, can’t this be done using a bookmarklet? Albeit it being a bit clunky to use compared to a userscript which runs automatically.

gorgoiler a day ago

The thing I like most about your post is it has prompted me to read an example of a user script. Thanks!

In the excludes, did you mean *.bank.com, or *bank.com?

Or maybe even *bank*.*!

jason1cho a day ago

I'm a fan of user script, glad to see people are also developing new ones.

The uploads to greasy fork seem reduced these days.

anp2987 20 hours ago

Agreed opening new tabs for every post is a real thing. Would surely try it

prtmnth a day ago

Haha, this is so cool and can't believe I didn't think about it. I've been opening 2 tabs per HN link on my phone since forever!

pseudosavant a day ago

This is pretty cool! It had never crossed my mind that everyone else is doing the same two tab thing that I'm doing.

hugopuybareau 2 days ago

Nice idea ! How do you handle duplicates ?

ninalanyon a day ago

In the side bar I can't vote on the comments.

ahachete 2 days ago

I feel ya. I'm always middle clicking twice, story and comments.

This shouldn't be a script (no offense, great job!). It should be built into the browsers!

FWxqQ a day ago

I used another approach - created a custom RSS that has both links, plus the content of the top comment in the same item. There are also a few other filters like selecting only posts that have at least 50 points. Github actions handles RSS updates every five hours, making feed generation completely free.

https://github.com/rzagreb/hackernews-top-rss

This is actually how I found this article as well

Ostatnigrosh 21 hours ago

Just command + click

thelastgallon a day ago

Chrome has add tab to split view.

  • trash_cat a day ago

    So I have to Shift + Alt + n, the search for the HN blog / article in the other tab? If you have a lot of tabs this isn't feasable.

blopp99 2 days ago

Thought I was the only one hahaha

latchkey a day ago

For orange juice, on a "selected" story, i made left arrow open the comments and right arrow open the story. bang bang.

currently rocking 666 users... https://oj-hn.com

kalamarico a day ago

Very cool!

zouhair a day ago

hehe, I opened chatgpt and the little button blocks the three dots

  • twalichiewiczOP a day ago

    Yeah, I noticed that too. It's mostly because people tend to post ChatGPT outage pages to HN, so the script ends up activating there unfortunately.

    I'm working on a fix, but in the meantime you can add `@exclude https://chatgpt.com/*` to the userscript header.

    EDIT: Added this to the v1.4.0 release just now.

mohamedsayhii a day ago

love it

Razengan a day ago

I've made ChatGPT Atlas as my AI-only browser. Whenever there's an HN post about something interesting but not THAT interesting to manually sift through 100+ comments on it, I just ask it to summarize it for me :')

f3408fh a day ago

Now make a user script that blocks posts titled "I was tired of X, so I...".

croisillon a day ago

> I was tired of opening 2 tabs for every HN link

classic beginner error, in fact no one is supposed to click on TFA

SCLeo a day ago

Oh, I solved this long time ago by only opening the discussion page, never read tfa, and pretend I did. /s

rf15 a day ago

See, you can do this a lot easier, and a lot of HN folks have already figured out this simple trick:

1. open the comments page

2. select the comment box

3. judge the linked content by its HN title alone and get ready to post

/s

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection