[HN Gopher] Nyxt Browser
___________________________________________________________________
Nyxt Browser
Author : wglb
Score : 505 points
Date : 2021-03-19 02:15 UTC (2 days ago)
(HTM) web link (nyxt.atlas.engineer)
(TXT) w3m dump (nyxt.atlas.engineer)
| guerrilla wrote:
| Every web browser should have a tree based history by this point.
|
| This part is cool:
|
| > Nyxt is web engine agnostic. We utilize a minimal API to
| interface to any web engine. This makes us flexible and resilient
| to changes in the web landscape. Currently, we support WebKit and
| WebEngine (Blink).
|
| Does this browser have anything do to with Next? The logo seems
| similar.
| Jtsummers wrote:
| Yes. It was renamed a while ago:
|
| https://nyxt.atlas.engineer/article/next-nyxt-rename.org
| yw3410 wrote:
| It's a rebrand iirc.
| mjgs wrote:
| What does that mean in practice though? Since it's not a
| browser plug-in, I assume the download is an actual fully
| fledged browser. Perhaps I'm missing something obvious.
|
| What rendering engine did they choose? Or is it possible to
| switch between them?
| uncletaco wrote:
| In practice Nyxt is a common lisp environment that has an FFI
| binding to webkitgtk (and probably qt-webengine). I've only
| used to webkitgtk. So Nyxt is a lot like eolie and gnome web.
| cassepipe wrote:
| I wonder when I see that gecko/servo (whatever Firefox engine
| is) is rarely the goto web engine for foss projects. Is it hard
| to embed?
| SirLotsaLocks wrote:
| Gecko itself is almost impossible to use outside of firefox
| at this point so I don't think it would work well in this
| kind of a browser unfortunately. I'm not sure about servo
| though other than it just not being ready for normal
| browsing.
| Bjartr wrote:
| After briefly looking into this, my understanding is that the
| embedding documentation hasn't been updated in a very long
| time, and the overall architecture doesn't lend itself to
| embedding.
| Y_Y wrote:
| This whole project looks dope so allow me to make some
| superficial bikesheddy complaints.
|
| 1. It just has bad KHTML forks for the engine. What about Gecko
| and Presto and Trident all the other fine renderers?
|
| 2. I don't know what kind of lisp they're using (probably
| Common Lisp), anyway it's not my favourite kind.
| serf wrote:
| >2. I don't know what kind of lisp they're using (probably
| Common Lisp), anyway it's not my favourite kind.
|
| well, given the emacs-nature of this project maybe someone
| will come up with a mini-transpiler so that one may use their
| favorite lisp.
| rosstex wrote:
| Awesome, but why not write this as a browser extension? Why
| create a new browser for it?
| 0x_rs wrote:
| The "lossless tree history" is an amazing feature to have. I have
| yet to find a modern, usable replacement for the Norwell History
| Tool XUL extension for older Firefox versions. It allowed one to
| see browsing as it happened in a logical, orderly timeline
| instead of a collection of URLs and their last accessed value, so
| that you could see for example what webpage led to another. I
| wish this project success for allowing users control of their
| browsers and the vast data contained in them can make the
| difference between choosing from the average Chromium reskins.
| fctorial wrote:
| You can emulate that by opening tabs only in new tabs. It works
| fine for <10 tabs.
| exikyut wrote:
| It also works fine for >10 tabs.
|
| For example, my last browsing session only became unusable
| (16GB RAM + 8GB swap 100% used, machine OOMing renderers,
| system freezing for about a minute or two at a time) after I
| reached about 1,081 tabs.
|
| :(
|
| I find it a huge pity that tab serialization never went
| anywhere :'(
| https://developers.google.com/web/updates/2015/09/tab-
| discar... it would basically have let you have 10,000 tabs
| open
| agumonkey wrote:
| I forgot the actual number but I remember that above 700~
| tabs firefox started to lag, usable but slow. It was funny
| to hit a structural limit like that and kudos on the devs
| to allow such a tab-hoarding behavior.
|
| I'd love to work on a quick tab group freeze feature. (a 2d
| graph to order / select and then stash the tabs dom without
| external resources maybe) ?
| mkl wrote:
| The Marvellous Suspender on Chrome and Auto Tab Discard on
| Firefox will let you scale to that (there are other options
| too). I have something like 7-8000 tabs open counting all
| my browsers and devices. 1081 tabs is no big deal - I have
| single windows with more than that, and everything is
| snappy.
| exikyut wrote:
| Okay, 8000 is admirable and scary. :D
|
| I used TGS a few years ago, back when I was still limping
| along on a 32-bit machine. Generally either the browser
| process would hit ~3GB VIRT and very abruptly terminate,
| or (back when Chrome would lump all of the open tabs
| owned by an extension into a single renderer) the
| renderer would simply thrash so much (because suspending
| the current tab, or switching between suspended tabs,
| invoked the mostly-swapped-to-disk renderer process) the
| browser would effectively become unusable, eg, 30 second
| stalls switching between tabs or 2 minute stalls opening
| new tabs.
|
| Chrome's built-in tab discarding actually closes the
| renderer process, which solves all of those design fails,
| but then there's the browser process to contend with; a
| few days ago the browser process was basically sitting on
| about 2.5-3GB RAM. Apparently the data structures
| associated with remembering/showing a few tabs require a
| lot of memory...?!
|
| The only annoyance with TGS and tab discarding without
| proper tab serialization/dehydration is page state is
| thrown out the window. Scrolled 350 pages deep in a
| tumblr blog or pinterest feed? Permanently gone on
| restore. I actually actively avoid sites with infinite
| scrolling where I can ._.
|
| Of course, the real problem is that browsers don't
| provide good simple mnemonics for "I want to come back to
| this later" that effectively translate from "this is open
| and currently a thing" to something that works for
| squishy brains and finite hardware. Chrome's new reading
| list feature (which doesn't quite work in Dev yet,
| clicking the menu item randomly decided to start
| SEGV/MAPADDRing the other day, glad I wasn't using it
| lol) will be interesting to watch, but looks about as
| potent as the tag-less bookmark system, sadly.
|
| This has actually been a problem for some years...
| https://news.ycombinator.com/item?id=18325632,
| https://news.ycombinator.com/item?id=16375865,
| https://news.ycombinator.com/item?id=13537600 make a few
| references (^F) to 'The Great Suspender' which I've
| mostly summarized here. (I accidentally locked `i336_` a
| few years ago - and I also had the English-language
| equivalent of "more lines of code = more better" back
| then too, so yeah, if you do have a look I can recommend
| ^F.)
|
| I've been making "I need to fix this with an extension"
| noises to myself for years, but the gigantic annoyance is
| that, at the end of the day, whatever fun system I come
| up with on desktop will never seamlessly integrate on
| mobile because of course I can't run extensions there.
| What on earth is the point of having an external brain if
| I can't access it without needing to invoke a 30-step
| process that I have to fully context switch away from
| whatever I'm doing to perform?!?
| EGreg wrote:
| Here is a counterpoint, and I encourage anyone here to
| tell me where I am wrong:
|
| Why have tabs at all? Are you really needing to save the
| state of the vast majority documents and their JS? The
| suspender says no.
|
| Why not consider all windows in which you aren't typing a
| document to have a very small state, such as scroll
| position. And even the ones where you ARE typing a
| document can save the form fields in an encrypted file.
|
| No, what you basically are saving is the already loaded
| DOM. And what if browsers took a radical approach to it
| as they are doing to third party cookie and... removed
| everything except maybe the latest 10 documents.
|
| Yes the latest accessed 10 documents would be actually in
| buffers. The rest would be UNLOADED and browsers would
| save the state of their textboxes or scrollig, and
| restore it once the "same" elements appeared. But mostly
| they'd enable this new API to save state beforeunload and
| restore it, and that's it. It's not even a new API, you
| should already be playing nice by using this event and
| not storing some crazy state. Sure, infinite scrolling
| thingies would be broken, and the caches of many images
| would be purged but so what. Users can MANUALLY mark
| sites where they really NEED the caches to grow so large.
|
| Instead, index the text on ALL sites and give the user a
| way to search their history of all their titles and
| bodies of all sites, as easily as they search google.
|
| Every time the user opens a new tab, what they're really
| saying is "bookmark this current site". But why should
| they even make those decisions to bookmark. You should be
| storing are their history locally (and making it
| searcheable and making encypted backups of it across all
| their browser sessions on all their personal devices).
|
| That's what the user really WANTS to do. It's the same
| idea as "gmail search" had when Google first launched
| GMail versus ordering all your mail in hierarchical
| folders. Think about it!
| exikyut wrote:
| I won't say you're technically or foundationally wrong,
| but I will say the view presented seems to be looking at
| solving the problem from the bottom up ("green-field the
| current implementation, identify the simplest possible
| alternative architecture that's just complicated enough
| to solve the majority of use-cases, and let the long tail
| fix itself"), instead of looking at things from the top
| down and making tiny/trivial incremental permutations to
| the bigger picture. Let me explain this counter-counter-
| argument.
|
| > _Why have tabs at all? Are you really needing to save
| the state of the vast majority documents and their JS?
| The suspender says no._
|
| Tumblr, Pinterest and other websites that use infinite
| scrolling say yes. These sites are large and nontrivial.
| Tumblr is a major social networking platform. Pinterest
| is... Uber for Google Image search, or something. Both
| are, it would seem, not going anywhere. Pinterest's
| client UI is a labyrinthian mess. Tumblr is more
| manageable. But both use a rummage-around-in-dev-urandom
| approach to feed delivery; no page load delivers the same
| content twice.
|
| I have been bitten by this enough that I actually gave up
| on the sites a few months ago. Well, the app, actually.
| I'd load a particular image, get lost in the "related"
| section (this would be especially problematic for
| industrial-design collections...), find something related
| that would catch my eye, my finger would tap the wrong
| image, I'd go back, and... it's gone. The layout's using
| a different seed now, the images are 98% the same but the
| one I was specifically looking for is now no longer in
| the results. This would happen with alarming regularity -
| like 80% of the time I'd mis-tap, which would be 60% of
| the time I was browsing, this would happen.
|
| This is what got me so wound up about Chrome not having
| tab serialization in the first place (my other comment
| and the links it points to have some further frustration
| about tab suspension).
|
| > _Why not consider all windows in which you aren't
| typing a document to have a very small state, such as
| scroll position. And even the ones where you ARE typing a
| document can save the form fields in an encrypted file._
|
| > _No, what you basically are saving is the already
| loaded DOM._
|
| Zooming out somewhat, browsers are not just a DOM, and
| textboxes and scroll position are not the only bits of
| state in a page. To be pedantic, there's the DOM, but
| there's also the CSSOM (the CSS object model) which is
| built from all the CSS files, JS-injected style tags, and
| manually-applied JS .style.<blah> manipulations; and over
| in JS land Service Workers now mean pages are running
| multiple virtual threads of execution at the same time
| (not actually sure whether these map to OS threads), and
| WebAssembly bolts an entire new world onto the end of the
| JavaScript runtime too.
|
| When I look at the web I don't see a single web browser
| running some specific set of "pet applications", if I can
| word it that way; rather, I envisage the terabytes (eep)
| of JavaScript code keeping the world turning around every
| day as the focus, and that the web runtime is kind of at
| the mercy of keeping that eye-wateringly head-spinningly
| large installed base in the air, while moving the
| platform forward and making substantive progress noises.
| This point of view is my only explanation for why things
| often feel so irritatingly stagnant.
|
| --
|
| > _And what if browsers took a radical approach to it as
| they are doing to third party cookie and... removed
| everything except maybe the latest 10 documents._
|
| Well, IT support teams around the world would need to add
| staff to deal with the exponential increase in
| complaints.
|
| > _Yes the latest accessed 10 documents would be actually
| in buffers. The rest would be UNLOADED and browsers would
| save the state of their textboxes or scrollig, and
| restore it once the "same" elements appeared. But mostly
| they'd enable this new API to save state beforeunload and
| restore it, and that's it. It's not even a new API, you
| should already be playing nice by using this event and
| not storing some crazy state. Sure, infinite scrolling
| thingies would be broken, and the caches of many images
| would be purged but so what. Users can MANUALLY mark
| sites where they really NEED the caches to grow so
| large._
|
| Google tried almost exactly this with tab discarding a
| few months ago, working in exactly the way you describe.
|
| It blew up the entire world's workflow, and they had to
| back it out. :(
|
| --
|
| > _Instead, index the text on ALL sites and give the user
| a way to search their history of all their titles and
| bodies of all sites, as easily as they search google._
|
| [SE YES PLEASE YES PLEASE YES PLEASE YES PLEASE YES PLEA]
|
| I've wanted this FOR SEVERAL UMPTY MILLION YEARS HEY
| GOOGLE WHY DON'T YOU ACTUALLY USE YOUR 100-EXABYTE OR
| WHATEVER IT IS BIGTABLE FOR SOMETHING ACTUALLY USEful
| okay sorry I'll stop with the shouting but serIOUSly this
| would honestly fix 100% of 100% of my problems (yes, 100%
| of 100% of my problems) with short term memory loss and
| trying to remember things online and... _[sad violin
| noises]_
|
| In all seriousness, my guess is regulatory restriction.
| The Wayback Machine is this obscure little dorky project
| in the corner because it can't be anything else.
|
| 1. Malicious user creates Google account
|
| 2. User uses newly created account to search for
| contentious $thing, saves $thing (or maybe it auto-
| saves), then signs out of account and never uses it again
|
| 3. Time passes
|
| 4. User re-logs back in and re-views $thing from Google's
| cache, creating <legal/sociopolitical/military/etc>
| $problem. Fireworks ensue.
|
| Open challenge: solve the general use case of the
| external brain (searching the history of pages that I've
| viewed), _while_ not invoking the above problem.
|
| I don't believe this can be done :'(
|
| --
|
| > _Every time the user opens a new tab, what they're
| really saying is "bookmark this current site"._
|
| Not quite. Not always.
|
| I can actually say this with some authority: the moment I
| learned that history is volatile (Chrome caps it at 3
| months IIRC) I immediately began using bookmarks as
| nonvolatile history, "just in case".
|
| About 10 years ago.
|
| I have about ~30,000 bookmarks. They're all in _Other
| bookmarks_ , because Chrome doesn't offer a tagging
| system that will sync with Chrome on Android.
|
| I have accessed about 3 of them; the other ~5000 times I
| needed a bookmark I was unable to brave the Tide Of
| Bookmarks.
|
| :'(
|
| --
|
| > _But why should they even make those decisions to
| bookmark. You should be storing are their history locally
| (and making it searcheable and making encypted backups of
| it across all their browser sessions on all their
| personal devices)._
|
| Yes please. (Imagine that all-caps scroller again)
|
| > _That's what the user really WANTS to do._
|
| Yes it is!
|
| > _It's the same idea as "gmail search" had when Google
| first launched GMail versus ordering all your mail in
| hierarchical folders. Think about it!_
|
| I don't need to :P
|
| I've been thinking about this for a while now myself. All
| the existing solutions out there seem to revolve around
| snapshotting the DOM, or storing the exact requests then
| replaying them, etc etc. None treat the web as the black-
| box it is.
|
| My alternative idea would unfortunately require
| participation at the renderer level but would scale to
| all current and future apps: save the render display
| lists instead.
|
| In (recent) devtools, in the 3-dot menu at the top-right,
| select More tools > Layers. Click into the image you see,
| then click the Paint profiler link that appears. I argue,
| save _that_. It's the set of Skia operations that drew
| the page.
|
| My arguments this is a good idea:
|
| 1. It doesn't perfectly save the entire page, but it *
| _does*_ mathematically-perfectly save the parts that have
| been rendered, _and which you have read_. If you want to
| save the whole thing you 'll need another imperfect
| solution. But if you just want to remember what you
| _have_ read, this will * _always_ * work, regardless of
| future development.
|
| 2. This scheme works with infinite-scrolling systems,
| _and_ with annoying websites that arrange bits of text
| into overflow:scroll divs that don't scroll the entire
| page, and which completely foil those page-screenshot
| extensions that scroll the page in chunks. (Sidenote:
| those extensions are actually the only correct way to
| snapshot websites currently; if you hit CTRL+SHIFT+P in
| the devtools and select "full page screenshot", you'll
| often crash the renderer for the tab if the page's full
| height is over 10,000 pixels, _especially_ on sites that
| use synthetic/virtualized DOMs for giant listviews and
| such.)
|
| Unfortunately, I don't really have the resources to
| implement this right now, nor (depressingly) sufficient
| knowledge of C++ either. Sigh.
|
| I would definitely definitely like this to be simpler...
| rakoo wrote:
| I've been dreaming of a system like this myself. Every
| time a page is loaded it would be written on-disk in a
| format that the browser can easily re-render, and can be
| nicely displayed by any third-party app. So you'd
| essentially have a local save of each and every single
| page you've ever visited; no more "this worked when I
| last visited it" because the browser could switch to this
| backup in case upstream is down. Also when you close a
| tab or switch to another webpage you don't really "close"
| the website, you just put it back to storage so it can be
| loaded at a later time. It seems to me using a browser
| should be closer to using a text editor, where you have
| one resource you're interacting with at the moment and
| others are in the background ready to replace the current
| one, but in a manner that loading them is a benign
| operation.
|
| Tabs, as you say, essentially mean "I want to keep this
| page in an easy-to-reach place". If you look at gmail in
| comparison, it's exactly the same as keeping emails in
| the Inbox: they are important (for varying values of
| important) and there is something to do regarding them,
| so keep them there. It's not exactly the same as starring
| messages because starring is opt-in (needs manual action
| to mark importance) while the Inbox is opt-out (needs
| manual action to unmark importance). It seems many people
| have been using tabs this way and close them when work is
| done so we can transcribe GTD to browsers: when a tab is
| open it means I need to do something with it, when I'm
| done close it. Regarding the previous paragraph it
| shouldn't be harder to load a file from upstream than
| from a tab.
|
| For this to work there needs to be a very strong search
| and history side. For me the best representation of
| browsing is a directed graph: nodes are websites and
| edges are clicks with a timestamp. There can be multiple
| edges between the same 2 nodes, if I clicked multiple
| times. The problem is such a graph is not only hard to
| represent efficiently, it's even harder to _use_ it to
| search in history. But the good side is that as long as
| this data structure is used, you can represent any
| history (flat, threaded, ...) as you want.
| exikyut wrote:
| (See my sibling comment)
|
| I agree with the comparison of inbox-vs-tabs. The people
| out there that have 30,000 emails in their inboxes...
| those are the people that lose tabs because their
| computer forces them to close them.
|
| Hrm, a directed graph. Interesting! I think that's how
| vim stores edit history?
| IanS5 wrote:
| This + tree style tabs works pretty well for me. It's kind of
| a clunky system. I tend to end up with a _lot_ more tabs than
| I need but it's nice that the hierarchy in tree tabs shows
| which site a new tab was opened from, even if I'm not using
| the original site.
| fctorial wrote:
| Nice, it comes with a nix expression too.
|
| However, I think that regular browsers like chrome/firefox are
| better in that they offer 99% of customizability at 1% of the
| effort one would have to spend to configure nyxt. There are
| extensions that let you inject javascript into a website. You can
| do a lot with that. Not to mention that mice are very well suited
| for browsing web.
|
| Edit: Typo
| uncletaco wrote:
| Configuring Nyxt is part of the fun. This is the same reason
| one might choose emacs or vim over vscode. Sure there are
| extensions in other software but I'm really getting a kick out
| of setting up Brave's ad-block server with this browser.
| ketamine__ wrote:
| Brave's ad-block server?
| thejellypen wrote:
| ive been looking for a more mouseless browser for a while now,
| qutebrowser doesn't cut it because no extensions and need to
| configure to get videos & other things working. so I've been
| stuck with vimium... when nyxt supports ad blocker and other
| extensions im on board
| butz wrote:
| Nice to see some people still trying to innovate on web browsing
| experience. With all mainline browsers stuck with almost
| identical UI, it is great to see some experimentation still going
| on.
| fctorial wrote:
| Similar UI is a pro, not a con. And a big one at that.
| paulryanrogers wrote:
| Indeed. Though I'm kind of sad that mouse gestures and voice
| control haven't gone mainstream yet. Keeping one hand on mouse
| and another on keyboard with voice scrolling was a nice combo.
| And the lower the bar for customizability the more accessible
| for differently abled users.
| [deleted]
| nulbyte wrote:
| This looks like an amazing project, except, if I'm not running of
| your preferred distros, the size seems a bit excessive:
| $ tar xf nyxt-*.tar.xz -C nyxt $ du -chs nyxt 1.7G
| nyxt
| Ambrevar wrote:
| Note this is the "fully contained Guix pack" (a bit like a
| container) which contains all the recursive dependencies, which
| includes WebKitGTK, GTK and the like.
|
| Nyxt alone is about 100-150 MiB uncompressed, which is what it
| costs you if you install it via your package manager.
| nulbyte wrote:
| I did not see mention of this on the download page, so I was
| taken aback. It does seems the Ubuntu package works in
| Debian, but that wasn't clear on the website, either.
| Ambrevar wrote:
| What mention did you not see? Is there anything I can
| clarify? Please let me know, feedback is always welcome.
|
| About the .deb: Indeed, it's built on Ubuntu, so it's not
| guaranteed to work on Debian, which is why we didn't
| mention it.
| yellowapple wrote:
| I've been looking for a Conkeror replacement, and this looks to
| be the closest thing yet. Can't wait to put it through its paces.
| TenJack wrote:
| Do these features really need to be a stand-alone browser or
| could they be a browser extension?
| christophilus wrote:
| They call this out in the FAQ. Basically, extensions are too
| locked down.
| skinkestek wrote:
| Could probably have been built in Firefox back in the good old
| days.
|
| Remember Firebug (which lives on today as developer tools in
| every browser) used to be just an extension(!) back in the day.
| maneesh wrote:
| Sounds like a great project to build!!
| ddtaylor wrote:
| Looks neat if you're a vim/emacs type of person.
| aeturnum wrote:
| Oh this is very exciting!
|
| Not exactly Nyxt (which looks amazing), but that people are are
| starting to "emacs" the web. There's a social process whenever
| humans make a thing where we rumble around a lot and try
| different things and eventually we settle on a kinda-ok-for-now-
| if-I-can-make-some-adjusments thing (like how I just used written
| english).
|
| I'm a little skeptical (for me) that we've arrived at a 'durable
| state' for the web. I think it may change a little too quickly
| for it to make sense (for me) to invest time into learning this
| particular browser but I am very excited about the trend.
|
| Edit: I wrote this comment without even seeing that they support
| list but _of course_ they do.
| chovybizzass wrote:
| i coudln't figure out how to open a web page.
| Ambrevar wrote:
| Click on the URL (" _Help_ " when you start) or run the set-url
| command with `C-l`.
| ybbond wrote:
| I've been lurking their discourse, GitHub and blog. Waiting for
| the prebuilt dmg for macOS as the macports & build from source
| version is troublesome
| bajsejohannes wrote:
| I used to use the keyboard a lot in Opera back in the day.
| Favorites included searching for links on the page by text and
| pressing enter to get there, and navigating back/forward using
| "link rel" tags in the documen (for example, you could go to the
| "next page" regardless of the browser history)
|
| I seem to recall that web pages were steadily making it harder
| for it to work. E.g no "a href" or "link rel"s.
|
| Here's hoping that Nyxt will have success in bringing this era
| back!
| skinkestek wrote:
| Opera was first as usual I guess - and as usual Firefox would
| get the same a few weeks later as an extension.
|
| NextPlease! was the name of the Firefox extension I think.
| jakub_g wrote:
| I have fond memories of Presto Opera as well. It also had
| geospatial navigation between the links (go to a link that is
| visually closest to the left/right/top/bottom) that normally
| may require tab-bing to death if something is visually close
| but far in DOM
|
| BTW, "go to next/prev page" would also look for user-
| configurable strings inside. So you could define the strings
| from DOM on pages that you often visit and indeed you would
| breeze over those pages then. Useful on discussion boards etc.
|
| And oh and the built-in and configurable ultra-powerful mouse
| gestures...
| geniium wrote:
| So happy to see tree history!
| danShumway wrote:
| Nyxt seems amazing, but it's hard for me to imagine using a
| browser without Ublock Origin. I understand that it doesn't
| really make sense for everyone to support webextensions, and it's
| a huge amount of extra work, but it's just a huge barrier to
| adoption.
|
| It's hard to trust the smaller browsers to keep me private online
| if there isn't something that gives me that same level of control
| over blocking. And there's a huge adblocking community built
| around this software that maintains lists, fixes websites, and
| it's just a bunch of privacy-focused community effort that is
| hard for any small team to replicate.
|
| But aside from webextension support, Nyxt looks really exciting,
| and I'm glad that people are building browsers that are actually
| innovating in this space.
| CyberRabbi wrote:
| Actually I would invert the problem: I wish nyxt itself were a
| webextension. IME Using a WebKit forks (or whatever) will
| always eventually be insufficient.
| dvdkon wrote:
| Unfortunately, it can't. Even something as simple as catching
| all keypresses globally is impossible with WebExtensions.
| Having to insert UI elements into pages is also pretty
| limiting and not a great user-experience with resource-
| hogging sites.
| aasutossh wrote:
| smh uBlock makes life so easier on web.
| christophilus wrote:
| As scriptable as Nyxt looks, I imagine you could pretty easily
| wire it up to block a list of domains.
| danShumway wrote:
| The problem is that UBlock Origin goes way beyond just
| blocking a list of domains, it's not just a Piihole.
|
| It's also doing CNAME uncloaking, request rewriting, stubbing
| functions in pages, it has syntax to handle CSS changes, it
| has rules that allow requests to only go through in certain
| contexts or if they're originating from certain domains. And
| most importantly, there's a giant community of people
| basically standardized on Ublock Origin who maintain all of
| these lists and who are constantly identifying new threats
| and proposing new features.
|
| So a competitor to Ublock Origin would need to be constantly
| competing with it, it would need to be pulling in new
| features as they got released, and it would need to be
| consuming the same lists that Ublock Origin uses. It's just
| really hard to keep pace with that.
|
| If _Mozilla_ came out tomorrow and said they were going to do
| native adblocking, I would trust them less than Ublock
| Origin. I don 't think even they would be able to keep pace
| if they were trying to build a community from scratch.
| dudik wrote:
| What about blockit[0]? It does implement some of the
| features you need. It's still a WIP, but I'm actively
| working on it and it uses the adblock-rust library from
| Brave, which is already able to compete with uBlock Origin.
|
| [0] https://github.com/dudik/blockit
| danShumway wrote:
| Looks very promising! Correct me if I'm wrong, but it
| looks like adblock-rust also handles CNAME resolution?
| That's pretty good. And I also like that it directly
| consumes adblock rules, it doesn't require them to be
| converted into a new format.
|
| That being said:
|
| > it has rules that allow requests to only go through in
| certain contexts or if they're originating from certain
| domains
|
| I haven't personally seen a proposal for server-based
| blocking outside of the browser that could begin to
| tackle this problem, and contextual blocking is a huge
| part of what makes browser adblockers work so well. As
| far as I can tell, adblock-rust isn't an exception to
| that.
|
| It's a very difficult problem. In order for you to have a
| rule like "block 3rd-party requests on a-bank-
| website.com", you need more information than just the
| request itself. Maybe this is something where sites could
| piggyback off of CORS requests? But browsers don't always
| send CORS requests.
|
| I'm not sure what the solution would be, but regardless I
| don't think that blockit would be a replacement in its
| current state. Still looks like a promising project as a
| network-based blocker though.
| Shared404 wrote:
| I would however be interested in Mozilla folding UBO into
| Firefox officially though.
|
| Sadly, I doubt that'll ever happen with the amount of
| funding they get from Google.
| samename wrote:
| Have you considered blocking on the DNS level with a hosts file
| or NextDNS?
| danShumway wrote:
| DNS blocks are good, but not really comparable to what a
| modern browser adblocker does. The state of adblocking on the
| web has gotten a lot more involved as both websites and
| adblockers have evolved in the kind of cat-and-mouse game
| they play with each other.
| [deleted]
| netflixandkill wrote:
| This is primarily why I use Brave, particularly on phones. I've
| had some form of ublock and js whitelisting since 2002 or so
| and don't even recognize most sites without them.
|
| I assume a lot of the potential "early adopters" for any new
| browser are privacy/security focused and as neat as it is
| conceptually that's going to be a steep climb for any new
| project.
| amagumori wrote:
| this is why i think Gemini is the most interesting thing
| happening in the web space today. the browser itself can't
| overcome the fundamental bloat and decay of the web as we know
| it today; the heavier and heavier js load, the ridiculous ad
| load that necessitates entire extensions just to escape from
| it; etc, etc.
|
| Gemini is a project that actually attacks the root of the
| problem by presenting an extremely stripped-down hypertext
| format and giving an alternative at the protocol level.
|
| i highly recommend checking out Gemini
| https://gemini.circumlunar.space/docs/faq.gmi and the Lagrange
| Browser https://github.com/skyjake/lagrange if you find this
| interesting.
|
| at least for my circle, there's a consensus that the web has
| calcified and become such a walled garden that we've reached a
| time where it makes sense to "start over" at a pretty base
| level; rather than trying to build on top of a platform that,
| by its nature, inevitably tends towards centralization and
| capitalization.
| boogies wrote:
| WebExtension support is 'on their roadmap' (thanks dang for the
| discussion and so much else):
| https://news.ycombinator.com/item?id=25972374
| Cloudef wrote:
| WebExtension support might make me consider this over
| qutebrowser.
| danShumway wrote:
| That is fantastic to hear!
|
| It's a really compelling project, with webextension support I
| could easily see myself moving over to a scriptable browser
| built on something like Servo.
| bbeesley wrote:
| It makes a lot more sense to ad block system wide than to
| expect every bit of software you use to implement extensions to
| allow you to do it. There are plenty of services like AdGuard
| and Lockdown, they can use the same lists that ublock uses, and
| you protect not just your browser but your email and everything
| else you use. Some routers will let you do something similar,
| and you can add a pihole to your network if your router won't
| help.
| danShumway wrote:
| It would be great to move adblocking to an OS/network level,
| but DNS blocking just isn't comparable to what a browser-
| level adblocker does.
|
| To get to the point where I would feel comfortable having my
| OS handle browser blocking, a reasonable chunk web browser
| functionality would need to be moved out of the browser and
| onto the OS. I just don't see that happening any time soon,
| and I'm not sure that's the direction we would want to move
| with browsers anyway.
|
| Ublock Origin will do things like stub Javascript methods on
| the page. A Piihole can't do that. And even for simple things
| like blocking requests based on the current domain -- the
| movement towards DoH and SNI are going to make that harder
| and harder as time progresses. You really need an interface
| that has insight into not just what requests you're making,
| but where/why you're making them.
|
| Not to say that system wide blockers don't have value, but
| they're really there for the apps that can't handle their own
| adblocking. They're a defense in depth for the requests that
| slip through other parts of your setup, but they're not a
| good replacement for a browser extension.
| rnhmjoj wrote:
| All you're asking is already possible with Privoxy[1],
| which is even stronger than a browser adblocker. It's a
| very old software: it used to be unmaintained and lacking
| some essential features, but thankfully the development
| resumed and is now fully fuctional again with the modern
| web.
|
| It can be used as an adblocker based on domain, request
| path, HTTP headers, etc, but it can do much more. It can
| redirect requests (for example, replacing assets from a CDN
| with a local cache), modify headers (stripping or making
| cookies temporary, changing user agent, etc.) and even
| rewrite the content of web pages using regular expressions
| or any external program.
|
| By default, it has only a basic configuration that blocks
| tracking and ads, but there are tools[2] that convert
| adblock rules to the Privoxy format, so it will be
| functionally equivalent to adblock.
|
| It acts as a CONNECT proxy, so you can run it locally or on
| a router and if combined with a NAT rule, it can also work
| transparently (obviously, you need to manually trust a CA
| certificate for https).
|
| [1]: https://www.privoxy.org/
|
| [2]: https://github.com/essandess/adblock2privoxy
| alpaca128 wrote:
| Can it let me pick any visible HTML element on a website
| to filter out just by clicking on it? Can it block
| content of a website without interfering with a `curl`
| request or a file download from a random messenger app?
|
| All those things are trivial to do in a browser plugin
| but probably a total workaround-filled pain on any other
| layer in the system.
| rnhmjoj wrote:
| > Can it let me pick any visible HTML element on a
| website to filter out just by clicking on it?
|
| The best it can offer is a CGI editor to change its
| configuration from the browser. I don't see how you could
| implement something like this: it's either interactive or
| a passive network element, but not both.
|
| > Can it block content of a website without interfering
| with a `curl` request or a file download from a random
| messenger app?
|
| This is really trivial, just don't proxy them (ie don't
| set the http_proxy variable).
| hutrdvnj wrote:
| Can Privoxy do Javascript based blocking, e.g. stub
| methods?
| rnhmjoj wrote:
| No, there's nothing javascript specific in Privoxy, but
| there's also nothing stopping you from implementing it.
| You could write filters to inject custom code (like
| greasemonkey userscripts) or modifying the scripts in
| tranport.
| sildur wrote:
| It makes me happy to see privoxy back again. Time to set
| it up back! :)
| danShumway wrote:
| A couple of criticisms:
|
| 1) The converter you link has 62 stars and hasn't been
| updated in 2 years. Additionally I'm seeing multiple
| issues about basic adblock rules not taking effect. Short
| version, I would not trust this repo to convert rules.
|
| This is kind of exactly what I'm talking about with the
| difficulty of keeping pace with what is essentially a
| shared standard in the adblocking community. It's not
| enough to write one converter that gets updated every 2
| years, in the space of those 2 years, Ublock Origin has
| expanded the syntax it supports. Adblocking is a cat-and-
| mouse game, there isn't a single set of features that can
| implemented once and then the software marked as "done".
|
| 2) Even assuming that converter does work (which I am
| doubtful of), Ublock Origin uses a superset of the
| adblock rules format, so you have to target what Ublock
| Origin supports, not just what adblockers in general do.
|
| And obviously I'm not going to try and recreate those
| lists myself manually, I don't have the time or energy to
| do that. They have to be 100% consumable from upstream.
|
| ----
|
| Okay, moving on to Privoxy itself:
|
| 1) On the community aspect again, I don't see dedicated
| Reddit groups devoted to finding every single broken
| website on this software. I don't see a public issue
| tracker. It seems to be following the old FOSS philosophy
| of developing software primarily on mailing lists
| someplace, which is fine for some software but not fine
| for something that is highly community dependent like
| adblocking.
|
| You say the software is being actively developed again, I
| don't see any way to easily confirm that. I don't see any
| way to easily figure out how many people are using this
| and verifying that it works.
|
| 2) As far as I can tell, this doesn't support DoH. That
| is also kind of a dealbreaker for me, I don't want to
| make myself less secure in one area to make myself more
| secure in another. This is a solveable problem: if
| Privoxy was being set up as a local DoH server as well,
| and it was using DoH itself to query/cache results, then
| the issue would almost completely go away.
|
| However, am I correct in guessing that Privoxy is also
| going to struggle in the future with encrypted SNI, or
| with the fact that my browser strips referrer headers
| from requests?
|
| 3) I'm looking at Privoxy's pattern documentation[0], and
| correct me if I'm wrong but it doesn't seem to support
| contextual blocking at all. In Ublock Origin I can do
| rules like: $script,third-
| party,domain=imgbox.com
|
| My original criticism of DNS blocking in general was that
| it lacked context information, so it's just flat-out not
| acceptable for a Ublock Origin replacement to lack the
| ability to distinguish between a third-party request and
| a first-party request. That's critical functionality.
| Maybe I'm missing something here, but I've gone over the
| Actions and Template file documentation and I don't see
| the words "third-party" even mentioned anywhere.
|
| 4) Privoxy seems to lack the ability to block iframes, or
| at most it seems to have the ability to strip them from
| the HTML itself. That's not enough, sometimes iframes get
| dynamically created after a page is loaded, and modifying
| the HTML is not enough to block that.
|
| 5) I don't see any way to mark sites as trusted (probably
| related to point #3). So there doesn't seem to be a way
| for me to disable Privoxy when I'm on a specific site.
|
| 6) I don't see anything in the docs about CNAME
| unmasking. And CNAME cloaking isn't a theoretical attack,
| there are websites in the wild using that technique.
|
| 7) Browser integration also seems to be lacking. This
| isn't the _biggest_ problem, I can tolerate annoyance,
| but it 's a little bit of a quality of life issue.
|
| 8) And so on. Most of UBlock Origin's dynamic filtering
| syntax[1] seems to be unsupported. It's very possible I'm
| misreading the docs, or the docs are out of date or
| there's a trick to make it work, but if that's the case,
| that's also a problem, because then the docs need to be
| clearer.
|
| ----
|
| None of that is to say that Privoxy is bad software. It's
| just to say that it doesn't seem like it's an all-in-one
| replacement for what my browser does.
|
| We often do defense-in-depth in this area. You can set up
| a Piihole, or a firewall, or a proxy server to handle
| adblocking for devices and applications that don't expose
| interfaces like the browser does. That's a good idea. But
| the farther away from the context of the application that
| you get, the harder it is to do really detailed blocking
| based on that context.
|
| This is something fundamental about adblocking that
| people don't always seem to understand -- it's not an
| either/or proposition, it's not like you set up a proxy
| server and all of your browser configs become useless.
| The proxy server just adds another layer of defense.
|
| [0]: https://www.privoxy.org/user-manual/actions-
| file.html#AF-PAT...
|
| [1]: https://github.com/gorhill/uBlock/wiki/Static-
| filter-syntax
| unicornporn wrote:
| Oh, Privoxy. Must've been 20 years since I used that.
| But, can it block certain elements with certain IDs? And
| do I have to disable DoH to make it work?
| rnhmjoj wrote:
| > can it block certain elements with certain IDs?
|
| If you mean hiding an element, yes it's possible: you can
| either inject CSS into the page or write a filter to
| remove the HTML entirely. For example, adblock2privoxy
| generates both Privoxy rules to block requests and
| stylesheets to hide elements (you need a local webserver
| for this, though).
|
| > And do I have to disable DoH to make it work?
|
| It's Privoxy, not the browser, that will do the DNS
| queries. So, no: it will work regardless of DoH.
| alpaca128 wrote:
| It makes sense to use both, but there is no alternative to
| "context-aware" ad blocking within the browser. YouTube video
| ads cannot be blocked via hosts file, same for any ad that's
| served directly from that site.
|
| Also uBlock Origin lets you block _any_ HTML element on any
| site. This lets you (interactively!) cut out autoplaying
| videos, annoying popups and basically anything that you as an
| individual user find distracting.
|
| Or how about the option to block loading of large images? Try
| implementing that system wide without accidentally breaking
| certain requests using `curl` and while still allowing the
| user to flip that switch in seconds.
|
| There's no single abstraction layer where it makes sense to
| do everything at once.
| rovr138 wrote:
| Host based lists help to a point but they are also easy to
| bypass.
|
| Get everyone to add a cname or rotate the domains.
|
| If they use the main domain and proxy the requests, you can't
| block the domain without breaking the site.
|
| That's why there are lists that operate on selectors and the
| content on the pages too.
| hanniabu wrote:
| Is AdGuard/Lockown the same as PiHole or do they do different
| things?
| maddyboo wrote:
| If you want a Chrome/Firefox extension that does some of these
| things and more, check out Surfingkeys:
|
| https://github.com/brookhong/Surfingkeys
| josteink wrote:
| That looks like someone bundled a prepacked browser-like starter-
| package using Emacs compiled with GTK-widgets (WebView) with Helm
| and some other niceties like the status-bar.
|
| It even uses the same terminology with words like "buffers"
| instead of tabs.
|
| Is this actually an Emacs-based browser being shipped to the
| masses?
| Jtsummers wrote:
| I think it's more accurate to say "emacs inspired". The system
| is written in Common Lisp and uses a lot of emacs ideas like
| you point out (buffers vs tabs, chorded keyboard shortcuts
| (though there is a vi mode too), configurable in Lisp, etc.).
| [deleted]
| christophilus wrote:
| This looks amazing.
|
| I've never used Common Lisp how common is it (heh heh)? I really
| enjoyed hacking around in Clojure, so I may have to pick it up.
| I'd love to hear from anyone who's done serious Common Lisp work.
| Why'd you choose Common Lisp vs any alternative?
| aidenn0 wrote:
| It's just a great balance of dynamicism and pragmatism.
|
| I can redefine a function without restarting, and then get
| assembly level profiling of a benchmark faster than a typical
| C++ program can link.
|
| Most of the features that made lisps unique when I started
| learning lisp have been adopted by modern languages, but the
| debug tooling and dynamicism in a compiled language are both
| rare.
| Shared404 wrote:
| I'm by no means used it for anything serious, but I've enjoyed
| "Land of Lisp: Learning to Program in Lisp" for just some light
| hacking around.
|
| I was lucky enough to get it in one of the programming Humble
| bundles a while ago.
| lpghatguy wrote:
| I'm sad to see that Windows is not an officially supported
| target. This doesn't feel like the kind of project that anything
| gains from assuming POSIX, yet a lot of software is written this
| way. I'd love to take advantage of asdf, nvm, ranger, and now
| Nyxt!
| dijit wrote:
| This is going to sound flippant (because, it is, and I hate
| myself for saying this);
|
| But POSIX users would love games!
|
| It's just such a low priority because it would be a very low
| percentage of total users.
|
| I could add that my own experience of supporting developer
| workflows on Windows/MacOS and Linux is about 3x more
| complicated than it needs to be because of Windows. :(
| Ambrevar wrote:
| Nyxt does not assume POSIX, in fact it is completely
| independent of any POSIX-ness.
|
| It has been reported to run on Windows via WSL and also without
| it, but it needs much more work because WebKitGTK is not
| trivial to get to run on Windows.
|
| Contributions are welcome!
| 0xCMP wrote:
| Wish this were easier to download since it's more common to use
| Brew now.
|
| Very excited at the idea of having fast fuzzy switching of tabs.
| I wish more things operated like that.
| Kaze404 wrote:
| There's an extension called Fast Tab Switcher for Firefox that
| has a similar functionality. It's really good
| opan wrote:
| Can be installed from Guix which can be installed on other
| distros. (but not sure about macOS)
| lilyball wrote:
| It's available in Nix for x86_64-linux. Maybe some
| enterprising soul could figure out what's blocking darwin
| support and submit a PR.
| fao_ wrote:
| So I compiled the prerelease today. There were a number of
| hiccups with the process but nothing big, and I managed to get it
| running.
|
| On first load you have a tutorial, and a menu to select the
| session. There's only one session so it should default to that.
| There is no way to click the menus like there is in Emacs, so I
| have to type Default in full each load.
|
| Running "vi-normal-mode" doesn't switch the keybindings, and it
| only runs on new buffers, not old ones. It would be nice to have
| a "global mode" feature.
|
| Futhermore, n and N do not work for searching in vi mode, and it
| would be nice to have "?" bound to the help buffer, simply
| because half the time I can't remember what key switches to which
| buffer. There should also be autocomplete on tab, like doom emacs
| has.
|
| All in all, it feels half-baked, in it's current state, which I
| guess it is. I'll be happy to use it more when it's in a better
| state, but I don't think it'll be replacing Firefox any time soon
| joshspankit wrote:
| Quick website thing: Some part of the site crashes my iPad
| browser about half-way down. Feels like a lazy-load call.
| Ambrevar wrote:
| Thanks for the feedback. Some answers:
|
| - You can press `enter` instead of typing "default" in full if
| it's selected. - Running `vi-normal-mode` enables VI bindings
| in the current buffer only. If you want to enable them
| everywhere, you can use the graphical confiuration menu that's
| presented on startup.
|
| - `tab` inserts the current selection in the input. Do you mean
| something else?
| fao_ wrote:
| Thanks for responding! That wasn't my experience with using
| enter, but i just tried it and it works, so I'm pretty sure
| that was just me :) the command being relegated to buffers is
| useful to know.
|
| > - `tab` inserts the current selection in the input. Do you
| mean something else?
|
| In emacs (specifically ivy/helm), tab in context-sensitive.
| Using tab on a command input autocompletes that input, where
| elsewhere it behaves differently. There doesn't actually seem
| to be a nice way to select from the command lists given (like
| the session selector) without typing it in, and that means I
| have to type it in in full, which is awkward and cumbersome.
|
| One final note is I just tried using it again -- first
| problem is duckduckgo.com does not load, I just get a blank
| page after it says "finished loading". The other is that the
| default key of 'd', I had assumed would close the buffer, but
| I guess that must be 'x' because it closed the entire window,
| which I would have expected from 'q'.
| Ambrevar wrote:
| The prompt buffer (previously known as "minibuffer")
| supports fuzzy completion: you never have to type the
| suggestion in full. Just type a portion of what you want
| and the appropriate suggestion should come to the top. Even
| typos are supported.
|
| If duckduckgo does not load, maybe you enable noscript-
| mode, proxy-mode or similar? Try starting the browser with
| `nyxt -I` (no config file). Do other HTTPS site work?
|
| `d` is not bound by default.
|
| To see the full list of commands and bindings, press
| `Ctrl+space`, it will display them all.
| ekianjo wrote:
| Looks like qutebrowser in many ways. https://qutebrowser.org/
| readflaggedcomm wrote:
| And Qutebrowser implements ABP-style ad blocking since v2.0.0,
| which a lot of sibling comments are concerned about. Whereas
| Nyxt still only has host-based blocking, if I'm reading
| blocker-mode.lisp correctly.
| sidpatil wrote:
| Even with ABP-style adblocking enabled, I couldn't get it to
| block ads as effectively as uBlock Origin could. This was a
| big negative in my book.
| sva_ wrote:
| It also remindes me of Tridactyl[0], which promises to bring
| vim shortcuts to firefox. I tried it for a while but found that
| I just enjoy using the mouse more to explore the web, even
| though I'm mostly a keyboard-only user on the rest of my
| system.
|
| [0] https://github.com/tridactyl/tridactyl
| mempko wrote:
| I'll look at this again when they support gecko
| alrs wrote:
| I run Firefox myself, but you can't really blame developers for
| not wanting to deal with the whims of Mozilla.
| cassepipe wrote:
| I am looking for info. Why is Firefox web engine no the go to
| choice for foss projects? It is not embeddable or just really
| complicated or or what? If so are they making any progress
| towards more adoption?
| LockAndLol wrote:
| Mozilla is not very developer friendly. Gecko uses a two
| decade old method of RPC, the lib interface (XPCOM based on
| Microsoft's COM) is about the same age, the documentation
| hasn't been updated in a decade even though the code
| evolved, and I've heard from 2 employees directly that it's
| not important to them.
|
| It's not really a surprise that gecko isn't the primary
| choice for browser developers.
| [deleted]
| Bjartr wrote:
| After briefly looking into this, my understanding is that
| the embedding documentation hasn't been updated in a very
| long time, and the overall architecture doesn't lend itself
| to embedding.
| cogburnd02 wrote:
| I think it'd be cool to merge it (this) with the rendering part
| of netsurf, which can run on a framebuffer.
| [deleted]
| dang wrote:
| If curious, past threads:
|
| _Nyxt browser: mouseless copy /paste_ -
| https://news.ycombinator.com/item?id=25956152 - Jan 2021 (56
| comments)
|
| _Nyxt Browser 2.0.0 Pre-release_ -
| https://news.ycombinator.com/item?id=24353927 - Sept 2020 (11
| comments)
| shaunxcode wrote:
| this looks very cool! I wish the FAQ covered a little more about
| the language/environment. Like is it full common lisp or some
| whitelisted subset?
| lispm wrote:
| Here is a bit more background:
|
| https://github.com/atlas-engineer/nyxt/blob/master/documents...
|
| It's mentioned there that it uses SBCL, which is a full,
| standard and extended implementation of Common Lisp.
| monstersinF wrote:
| I didn't expect too many clever features but the special link hot
| keys and tree based history is something I didn't know I wanted
| but now I do
| StavrosK wrote:
| That tree based history thing is amazing. The Firefox history
| pane seems to always contain exactly the web pages I _don 't_
| want, and never the ones I do.
| sidpatil wrote:
| On Firefox, I use the Link Hints extension for that purpose.
|
| Qutebrowser also has link hints as a standard built-in feature.
| [deleted]
| geniium wrote:
| Link hits is what vim mode (like vimium) brings on Firefox or
| chrome with plugins. Personally I cannot live without it.
| e_proxus wrote:
| If you're on macOS there's Vimac which gives you this for the
| whole OS including Safari and the contents of web pages
| (since it supports macOS accessibility features).
|
| https://vimacapp.com/
| geniium wrote:
| Thanks for the link, interesting!
| Haarisgrey wrote:
| Of course we got people like this!. I smoke and I've been a
| smoker for years. Most of the time I am surrounded by people who
| do not smoke at all. Doesn't amaze me. I have some close friends,
| we hangout together international;y and vacation parties but they
| both have never smoked weed and I am a regular smoker and this
| thing doesn't affect our friendship at all. It's not about
| something being legal or illegal. If a thing is facilitating you
| either way it is totally okay for the other person to use it. I
| started using it for my chronic pain and eventually ended up like
| this. https://www.weedmarket420.us/ Being a marijuana enthusiast
| I keep on researching for good material and here I came across 5
| new researches! Have a good day!
| itsasecretinc wrote:
| looks like xombrero or xxxterm for the obsd folks, cept it had
| cookie less features - very secure
| pasdechance wrote:
| Any individual or group of people that task themselves with
| making a browser deserve some sort of accolade. What I appreciate
| here is the minimalist approach and similarities to qutebrowser,
| uzbl, dwb and probably others.
|
| No uBlock Origin is not a deal breaker for me. Even with ubo on
| and JavaScript blocked the web is bloated as hell. I feel bad for
| all the folks who work on these projects because they need to
| deal with the same comments over and over again. That doesn't
| help the project.
|
| So, hats off to Nyxt.
| trenchgun wrote:
| Implementing support for uBlock origin is a top priority in
| nyxt teams todo list.
| gregwebs wrote:
| I would love to give Nyxt a try once there is bitwarden
| integration.
|
| I am using Tridactyl on Firefox which has many of these keyboard
| navigation features. I tried using qutebrowser (a bit more like
| nyxt) but I stick with Firefox for the password manager
| integration and easy installation on all platforms. Also Ctrl+Tab
| on Firefox switching between most recently is what I want most of
| the time.
| mouldysammich wrote:
| Nyxt seems really cool. I have a vague hope in the back of my
| mind that itll eventually be an emacs-like editor as well as
| browser. It seems like it could be a cool lispy answer to things
| like vscode etc.
___________________________________________________________________
(page generated 2021-03-21 23:02 UTC)