10 ms·
Nyxt 3 Pre-release 1 (a Lisp powered web browser)
- leephillips 4y agoI’d love to use Nyxt, but it doesn’t work. It doesn’t work because, despite claims to be engine-agnostic, in practice it can only be used with webkitGTK. WebkitGTK displays (CSS and HTML validating) pages with loads of rendering errors. I’ve tried it on pages that look identical and are rendered correctly in Firefox, Chrome (and all Blink browsers), and Safari, but do not render correctly in Nyxt. The incorrect rendering is reproduced exactly with Epiphany, the official Gnome browser that uses the same engine—so I know that the problem is with webkitGTK. If anyone can explain how to unlock the supposed engine-agnosticism of Nyxt so that I can try it with Blink, I would like instructions.
- ithrow 4y agoInteresting, why does webkitgtk messes with webkit rendering?
- tikhonj 4y agoI've been playing a bit with WebkitGTK for my own development and found the same thing—I was learning how to use SVG and was getting really confused about how transform-origin was supposed to work... then I tried the same SVG in Firefox and Chrome and realized that my understanding was correct and it was WebkitGTK that, for whatever reason, didn't handle it correctly. Even over a relatively short time I ran into a number of CSS, SVG and DOM manipulation behavior that WebkitGTK seems to handle incorrectly.
- alschwalm 4y agoI've also hit this issue. About a year ago I made an effort to use blink, but after a bit of work I recall essentially discovering that any support was effectively abandoned. I wish they would remove the note in the FAQ about supporting multiple engines, as it doesn't seem to be the case.
- leephillips 4y agoAt most it’s a description of an aspect of the project’s internal architecture. It means absolutely nothing to the end user. I believe that the Nyxt website should have a big red banner warning people that, because it uses a rendering engine that is not conformant and, I suppose, is a work in progress, it can’t actually serve as a practical web browser. This would save people from wasting time installing it only to find out that it doesn’t work. And remove the misleading comments about it being engine-agnostic. I really don’t understand what they hope to accomplish by forcing people to discover the true nature of their project the hard way, but it leaves a bad taste in my mouth. The same goes for Suckless’ surf browser and others. For their part, the wekitGTK website falsely claims that their engine is “a full-featured port of the WebKit rendering engine”. As mentioned in another comment, these rendering errors do not appear in Safari, which uses WebKit.
- jmercouris 4y agoThank you for your feedback. You're 100% right. The framework is in place, however the implementation is not! We wanted to get Nyxt to a level of feature sophistication before focusing on supporting (not just prototyping) two renderers as it can slow down progress! With 3.0.0 on the horizon, now is an ideal time. Once again, sorry about the issues you've had, we're doing our best!
- low_tech_punk 4y agoHow did Tauri (Rust) solves the rendering engine problem? Maybe Nyxt can borrow some of its magic.
- darthrupert 4y agoDid it? Perhaps it's easier to support crossplatform things if you can control which features of all the engines are being used.
- mattlondon 4y agoI think that it just uses the system webview, whatever that is. I don't think it offers "dynamic" switching between multiple implementations.onnthe same platform.
- tikhonj 4y agoDoesn't it use WebkitGTK, at least on Linux? I expect it has the same problems, but it's less of a problem for developing UIs than for browsing to arbitrary web pages—it might get a bit annoying, but you can always work around the inconsistencies or limitations by tweaking your own HTML/CSS/etc.
- bobajeff 4y agoBummer. I know that WebKitGTK also had problems with playing video on video streaming sites. So hopefully they figure something out with other engines soon. I'm interested in the History at a tree feature. And if they can get their bookmark tags to extract tag data from blogs and question and answer sites that would be great.
- yewenjie 4y agoIs there anybody who uses more than one browser as daily drivers simultaneously? What's your workflow like? I have tried to give Nyxt multiple tries but had to give up cause some things just don't work and had to use Firefox for those.
- colechristensen 4y agoI have really aggressive privacy mechanisms on Firefox and when they break something I need to do I switch to Chrome to do that one thing. (It seems to be mostly a certain kind of oauth flow that gets broken, I’m not curious enough to figure it out because I couldn’t change it anyway)
- semi-extrinsic 4y agoCorpo intranet amd a very few other sites don't work properly on Firefox (even more on Android FF), so I occasionally use Chrome to get around that.
- halostatue 4y agoThe use of tools like Finicky (https://github.com/johnste/finicky https://github.com/johnste/finicky) have made it pretty easy for me segregate certain workloads to certain browsers (as long as the links are opened from outside of the current browser). Safari is my daily driver, but I only take Google Meet meetings in Chrome and Teams meetings in Edge. I’ve also forced certain JIRA URLs to different browsers (Firefox or Edge, depending), because I have to be logged in as particular users for them. I rarely use other browsers for anything else, but will occasionally test things in them—but using the separate browsers has been really good for segregating certain classes of work.
- brabel 4y agoWould be nice if this was embeddable inside (and integrated with) emacs.
- dannyobrien 4y agoThere's a bunch of support already for controlling the browser via a SWANK/SLY repl, and also remotely run emacs functions from Nyxt. https://nyxt.atlas.engineer/article/emacs-hacks.org https://nyxt.atlas.engineer/article/emacs-hacks.org (I guess it would be embeddable using xwidget, but I haven't tried that).
- pedrodelfino 4y agoOh, there is a lot of cool things already possible. Some users outside of the team are doing interesting hacks Check this out: https://nyxt.atlas.engineer/article/emacs-conf.org https://nyxt.atlas.engineer/article/emacs-conf.org
- jll29 4y agoIt looks a bit like Emacs, so I intuitively pressed CTRL x 0 to close a window.
- pedrodelfino 4y agoIt started out as the desire to have an Emacs experience while surfing the web better than what Emacs was providing. On one hand, there are multiple similarities: https://nyxt.atlas.engineer/article/article-how-can-i-make-emacs-my-web-browser.org https://nyxt.atlas.engineer/article/article-how-can-i-make-e... On the other hand... There are also differences: https://nyxt.atlas.engineer/article/why-building-nyxt-instead-of-an-emacs-package.org https://nyxt.atlas.engineer/article/why-building-nyxt-instea...
- deleted 4y ago[deleted]
- low_tech_punk 4y agoI'm down if this supports a Chromium backend. Also, how does developer experience look like, e.g. DOM inspector, source code debugger? My job requires heavy debugging so it cannot be my daily driver unless there is comprehensive developer tools.
- jolmg 4y agoI haven't checked if it already includes it, but they have made a Common Lisp binding for Qt WebEngine which uses code from Chromium, so it at least seems to be the plan.
- tannhaeuser 4y agoInteresting observations from the comments in this thread so far: - Nyxt merely integrates WebKit so isn't actually a browser, where a browser consists of an HTML and CSS parsing and rendering engine, plus, optionally, Js; this is disappointing insofar as the enormous HTML and CSS tower-of-Babel specs produced over the last 20+ years still are unproven by a from-scratch implementation - professional web users other than on Mac OS use Chrome for webapps and FF for actual web sites (presumably b/c privacy features), giving rise to the perspective of separating-out extant web apps into containerized Electron apps in the future (where those aren't already eg MS Teams et al), so by chance we can get rid of the Js ballast and recent CSS atrocities and return to a healthy competitive browser landscape.
- Fnoord 4y agoThere is a PWA extension for Firefox which allows you to easily make a PWA with Firefox under the hood (I always disable telemtry and install uBlock).
- bgorman 4y agoIs WebKit stable on Linux? Gnome Web frequently crashes for me, but I would love to try a stable WebKit based browser on Linux.
- memorable 4y agoQutebrowser[0] and Luakit[1] are 2 WebKit-based web browser that I know that are pretty decent, though very similar to each other. [0]: https://www.qutebrowser.org/ https://www.qutebrowser.org/ [1]: https://luakit.github.io/ https://luakit.github.io/
- The-Compiler 4y agoqutebrowser used to use QtWebKit back in 2013, but doesn't use it anymore by default ever since its v1.0.0 release in 2017. Ever since then, it uses QtWebEngine, which is based on Chromium. You can still use it with QtWebKit (at least until the upcoming v3.0.0 release), but that's mostly for historical reasons - I really can't recommend it, as QtWebKit is still based on a WebKit from 2016 and pretty much dead.
- pmoriarty 4y agoBeing able to customize my browser in lisp would be great, before I switch I'd need this browser to have something like: - unlock Origin (for feature rich and sophisticated ad blocking) - uMatrix (per-domain and subdomain Javascript blocking) - NoScript (more Javascript exploit protection) - Pentadactyl and/or Evil (vim-like modal browsing) Lack of the first three was why I never switched to qutebrowser, despite it having a nice Pentadactyl-like UI.
- usrn 4y agoBy default it more or less has everything besides ublock (which is why I haven't switched yet either.)
- tremon 4y agoYes, same here. I want to want this, but the lack of third-party resource control (I'm a big uMatrix user) means I don't trust most browsers, and I don't want to resort to running my browser in a container. I thought that earlier versions (when it was still called Next) did support keyboard-based browsing, but maybe I'm misremembering (I toyed with uzbl too). The first thing I'd want for keyboard-based navigation would be an easily accessible cheat sheet.
- Jtsummers 4y agohttps://nyxt.atlas.engineer/documentation https://nyxt.atlas.engineer/documentation It does support keyboard-based navigation, and you can define your own bindings to any of the functions so you can alter the defaults or extend them to your own purposes. Scroll down to "Visual mode" for their take on vim-like bindings.
- matrix12 4y agoFor a lighter experience there is https://github.com/drewc/gurf https://github.com/drewc/gurf
- craftkiller 4y agoSo one of the most powerful features of emacs is everything being implemented in lisp so everything can be tweaked, edited, replaced, etc. This kind of flexibility is amazing for my text editor because every 3rd party package I install can change ANY aspect of emacs, giving them the same power that the official emacs code has. I'm not so sure I want that kind of flexibility in the software that handles my passwords, my banking details, my private communications, and my pornography.
- pedrodelfino 4y agoEmacs also has risks. It has access to the internet. A solution for both (Nyxt and Emacs) could be sandboxing. But... are you worried about sandboxing when use your regular browser (Chrome, Firefox, Opera, Safari...) or Emacs?
- blurlogic 4y agonyxt has channel (for example, different settings for youtube, wikipedia, etc) where you can customize keybindings, noimage, nojs, darkmode for each url/domain the problem is, there is no example how to do it
- shirogane86x 4y agoThis looks really nice! I will definitely try this out when I get the chance, although as it is I can't do much other than playing around with it - I'm stuck with windows :(
- pedrodelfino 4y agoThere is an unofficial support for Windows via WSL. Check it out: https://nyxt.atlas.engineer/download https://nyxt.atlas.engineer/download
- tpoacher 4y agoI get the technical merits, and that they would appeal to places like HN in particular, but I'm getting really tired of the whole "Project X, in language Y" meme (typically with a higher emphasis on Y than on X, and no indication why this even remotely matters in the slightest). Imagine other professions doing it: - I've written a new symphony ... IN SIBELIUS!!! - I've published a new patent on artificial heart valves ... USING MICROSOFT WORD!!! - I've discussed with our local parliamentary representative a new legislation on copyright law ... USING MY SAMSUNG GALAXY!
- pedrodelfino 4y agoI think I understand your point. But, maybe, what you are missing is that the "language Y" is the reason behind multiple "competitive advantages" and cool features behind "Project X". For instance, Common Lisp is really introspectable. This is the reason why Nyxt is so good for live hackability (inspecting and changing things on the fly). See the lecture below on the connection between the architecture of Nyxt, the language (Common Lisp), and the features: https://www.youtube.com/watch?v=wUujk1vjnYM&t=20s https://www.youtube.com/watch?v=wUujk1vjnYM&t=20s Obs.: the lecture was after Nyxt 1.0 and before Nyxt 2.0 release. Take into account that Nyxt is close to releasing 3.0 version. Also: https://atlas.engineer/technical-article/why-lisp.org https://atlas.engineer/technical-article/why-lisp.org
- tpoacher 4y agoYeah, I get that. But that's exactly what I mean. If you're going to focus on Y instead of X, make it obvious why this is relevant. If not, one of two things happens: 1) it sounds irrelevant and gives the impression it's just fanboyism, or worse, 2) it effectively says "if you're not in the inner circle enough to know and be excited for the Y more than the X already, then I don't have to tell you and this isnt for you." Which means you as the interested reader now have to go spend your precious time learning all about Y independently, from scratch, to figure out whether it is in fact important in this very specific case, or if it is just fanboyism. Very annoying and disrespectful to an otherwise interested reader. Either state your call to action up front and why Lisp is a feature, or leave it out entirely and focus on the product. (not having a go at nyxt specifically btw, just frustrated at the trend with this kind of titles.)
- midislack 4y agoYES this is great to see.