Leaning a little into the the distractions, and building processes to quickly search and hop between things had made it better for me.
At the very least opening tabs with Ctrl+T, tab search with Ctrl+Shift+A, quickly closing them with Ctrl+W is my main workflow in Chrome-based browsers.
Once I get my speed up, I find distractions don't occur as often.
Emacs, org-mode, magit, and AI, combined with good sleep, weight lifting, stimulants, have almost completey nullified my ADHD problems.
It's been a hard slog to get here though.
You're dying.
Why cling to false narratives of "efficiency" and "output".
Be human. Be not bot.
I care about efficiency and output because I care about being able to be productive and not just letting my thoughts take me constantly astray.
Nothing to do with being a bot.
When I break it up, I personally use latex files. I know everyone loves markdown, but I'm not a fan of Obsidian (closed source and electron, ugh), so I fell in love with TexStudio.
I have keybindings for simple macros to insert sections and subsections that I can quickly name, and these display in the navigation tree very well. TexStudio also allows multiple tex files open at once with a tabbedinterface, and allows saving sessions, so I can open one file to open all my, say, 'ai app ideas' notes. I've found this to work better for myself than any other available app or solution.
Eventually, I'd like to release a fork which would mainly be trimming stuff out rather than really adding anything in, but it's far from a priority for me at the moment.
I need two things: ubiquity, so that I can add ideas, todos, etc. wherever I am; and exaggerated simplicity so that I don't end up turning the note solution into its own project that's abandoned or exchanged in a year.
GDocs/a wiki have actually worked well, though I don't do the re-reading. Just crapping it out into a known place works pretty well.
Instead of having a million different tabs open, use a tab session manager, save the stuff you want to read later, and keep open only stuff pertinent to things you are working on.
Prioritize your projects to have actionable goals.
When you procrastinate, try to do so by being productive on smaller projects.
Be aware of your own nature, and try to exert control over it. Recognize that not every idea or desire is useful, and learn to discard the ones that are not and investigate or give more attention to the ones that are.
Organization, take notes and organize them. I often have a scratchpad textfile open, that I then organize into sections (e.g. app ideas, ideas for specific code projects, movie ideas, whatever), break these up further into project or topic files. The ones that grow and get fleshed out are the ones worth pursuing.
Have a healthy sleep and recreation routine to not get burned out.