15 ms·
Nyxt Browser
- dang 6y agoIf curious, past threads: Nyxt browser: mouseless copy/paste - https://news.ycombinator.com/item?id=25956152 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 https://news.ycombinator.com/item?id=24353927 - Sept 2020 (11 comments)
- monstersinF 6y agoI 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
- sidpatil 6y agoOn Firefox, I use the Link Hints extension for that purpose. Qutebrowser also has link hints as a standard built-in feature.
- geniium 6y agoLink hits is what vim mode (like vimium) brings on Firefox or chrome with plugins. Personally I cannot live without it.
- deleted 6y ago[deleted]
- StavrosK 6y agoThat 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.
- mouldysammich 6y agoNyxt 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.
- guerrilla 6y agoEvery 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 6y agoYes. It was renamed a while ago: https://nyxt.atlas.engineer/article/next-nyxt-rename.org https://nyxt.atlas.engineer/article/next-nyxt-rename.org
- yw3410 6y agoIt's a rebrand iirc.
- Y_Y 6y agoThis 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 6y ago>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.
- cassepipe 6y agoI 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?
- Bjartr 6y agoAfter 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.
- geniium 6y agoSo happy to see tree history!
- mempko 6y agoI'll look at this again when they support gecko
- deleted 6y ago[deleted]
- alrs 6y agoI run Firefox myself, but you can't really blame developers for not wanting to deal with the whims of Mozilla.
- cassepipe 6y agoI 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?
- Bjartr 6y agoAfter 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.
- LockAndLol 6y agoMozilla 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 6y ago[deleted]
- cogburnd02 6y agoI think it'd be cool to merge it (this) with the rendering part of netsurf, which can run on a framebuffer.
- josteink 6y agoThat 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 6y agoI 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.).
- butz 6y agoNice 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.
- paulryanrogers 6y agoIndeed. 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 6y ago[deleted]
- fctorial 6y agoSimilar UI is a pro, not a con. And a big one at that.
- bajsejohannes 6y agoI 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!
- jakub_g 6y agoI 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...
- skinkestek 6y agoOpera 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.
- 0xCMP 6y agoWish 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 6y agoThere's an extension called Fast Tab Switcher for Firefox that has a similar functionality. It's really good
- opan 6y agoCan be installed from Guix which can be installed on other distros. (but not sure about macOS)
- lilyball 6y agoIt’s available in Nix for x86_64-linux. Maybe some enterprising soul could figure out what’s blocking darwin support and submit a PR.
- geniium 6y agoYeah am really surprised as well. Any plan to add it to Brew?
- ekianjo 6y agoLooks like qutebrowser in many ways. https://qutebrowser.org/ https://qutebrowser.org/
- readflaggedcomm 6y agoAnd 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 6y agoEven 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_ 6y agoIt 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 https://github.com/tridactyl/tridactyl
- danShumway 6y agoNyxt 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.
- christophilus 6y agoAs scriptable as Nyxt looks, I imagine you could pretty easily wire it up to block a list of domains.
- danShumway 6y agoThe 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.
- Shared404 6y agoI 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.
- christophilus 6y agoThis 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?
- Shared404 6y agoI'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.
- aidenn0 6y agoIt'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.
- 0x_rs 6y agoThe "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 6y agoYou can emulate that by opening tabs only in new tabs. It works fine for <10 tabs.
- exikyut 6y agoIt 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-discarding#future_improvements_the_tab_serializer https://developers.google.com/web/updates/2015/09/tab-discar... it would basically have let you have 10,000 tabs open
- mkl 6y agoThe 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 6y agoOkay, 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=18325632, https://news.ycombinator.com/item?id=16375865 https://news.ycombinator.com/item?id=16375865, https://news.ycombinator.com/item?id=13537600 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?!?
- fctorial 6y agoNice, 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 6y agoConfiguring 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__ 6y agoBrave's ad-block server?
- yellowapple 6y agoI'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 6y agoDo these features really need to be a stand-alone browser or could they be a browser extension?
- maneesh 6y agoSounds like a great project to build!!
- christophilus 6y agoThey call this out in the FAQ. Basically, extensions are too locked down.
- skinkestek 6y agoCould 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.
- gregwebs 6y agoI 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.
- rosstex 6y agoAwesome, but why not write this as a browser extension? Why create a new browser for it?
- aeturnum 6y agoOh 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.
- deleted 6y ago[deleted]
- fao_ 6y agoSo 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 6y agoQuick website thing: Some part of the site crashes my iPad browser about half-way down. Feels like a lazy-load call.
- Ambrevar 6y agoThanks 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_ 6y agoThanks 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'.
- itsasecretinc 6y agolooks like xombrero or xxxterm for the obsd folks, cept it had cookie less features - very secure
- shaunxcode 6y agothis 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 6y agoHere is a bit more background: https://github.com/atlas-engineer/nyxt/blob/master/documents/README.org 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.
- ddtaylor 6y agoLooks neat if you're a vim/emacs type of person.
- maddyboo 6y agoIf you want a Chrome/Firefox extension that does some of these things and more, check out Surfingkeys: https://github.com/brookhong/Surfingkeys https://github.com/brookhong/Surfingkeys
- caspar 6y agoSimilarly, I've been using Modeless Keyboard Navigation[0] (a vimium fork to remove the normal/edit mode distinction) for about 2 years now, and it works wonderfully for navigating to links via keyboard. 0: https://handsfreecoding.org/2017/11/22/extensions-now-available-for-both-firefox-and-chrome/ https://handsfreecoding.org/2017/11/22/extensions-now-availa...
- Haarisgrey 6y agoOf 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/ 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!
- pasdechance 6y agoAny 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 6y agoImplementing support for uBlock origin is a top priority in nyxt teams todo list.
- chovybizzass 6y agoi coudln't figure out how to open a web page.
- Ambrevar 6y agoClick on the URL (" Help" when you start) or run the set-url command with `C-l`.
- lpghatguy 6y agoI'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 6y agoThis 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 6y agoNyxt 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!
- ybbond 6y agoI've been lurking their discourse, GitHub and blog. Waiting for the prebuilt dmg for macOS as the macports & build from source version is troublesome
- thejellypen 6y agoive 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
- nulbyte 6y agoThis 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 6y agoNote 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 6y agoI 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 6y agoWhat 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.
- janandonly 6y agoTo bad this browser is not on HomeBrew and you need among other dependencies Xcode, which in itself is already 11GB!!! So much space needed for a "lightweight" browser