Nyxt 3 Pre-release 1 (a Lisp powered web browser)
nyxt.atlas.engineer
nyxt.atlas.engineer
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.
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!
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.
- 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.
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.
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.
uMatrix gives you way more fine-grained control over this (JS on/off per-domain and per-subdomain) along with lots of other features and a great UI that makes all this manageable. Just a simple on/off switch for JS is no comparison.
However, there is this: https://gitlab.com/jgkamat/jmatrix
It's quite a hack and I have no idea where it is UI-wise, but it seems to work for some people at least.
There is a whole article comparing Nyxt to extensions such as Pentadactyl (Vimium, Vimari, etc). Nyxt can do way more than them.
Check it out:
https://nyxt.atlas.engineer/article/nyxt-versus-plugins.org
Also, it is already possible to have emacs and vi keybindings in Nyxt:
But... are you worried about sandboxing when use your regular browser (Chrome, Firefox, Opera, Safari...) or Emacs?
On one hand, there are multiple similarities:
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-instea...
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.
How do you invoke Finicky, then?
:)
I'm curious about the workflow. Finicky is set as the system default browser, and then how is that typically invoked when using Finicky? Spotlight? A custom app? Shell tool? etc.
It's a good way to keep things separated. And means I'm unlikely to accidentally share my YouTube viewing when I share a tab in a Google Meet.
Brave for general browsing/watching videos, Chrome for work apps, Firefox w/ FoxyProxy for some stuff at work only reachable via SSH tunnel, and whatever the embedded Chromium that ships with BurpSuite is for testing webshits.
Each will tend to have a fuckheap of tabs open too.
BTW, I used to donate to the Nyxt project but I started having major difficulties getting it installed (perhaps this is when I did the M1 transition?).
(devtools > ff tools)
Firefox for work. The best implementation of pinned tabs. Shame it's a resource hog.
Chrome for reference and research type stuff. No reason why Chrome, I just want that separate from other contexts.
Chrome Canary for development. Still a Chrome, the best browser for development, but I get to separate all the reference stuff nicely from actual Chrome
Brave for streaming, because it's still a Chrome (so supports all the things) and blocks video ads really well.
Tor for... nice try, FBI. :)
I set up iTerm to open up reference type links I care about in Chrome, and all the other ones in Safari.
https://nyxt.atlas.engineer/article/emacs-hacks.org
(I guess it would be embeddable using xwidget, but I haven't tried that).
Check this out:
Check it out: https://nyxt.atlas.engineer/download
- 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.
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.
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.
the problem is, there is no example how to do it
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!
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
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:
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.)