2020-08-26, updated: 2021-07-22

Tags: release.

Nyxt release 1.3.3

Nyxt release 1.3.3

After another short but intense development cycle, we are happy to announce the availability of Nyxt version 1.3.3!

This version brings outstanding and unique features (again!). It is also easier to install on GNU/Linux thanks to a Debian package. Please see all installation options on the download page.

New features

Multiple input selection

Until now, Nyxt's prompt was able to ask the user for one choice among a list (with fuzzy completion). Now, for commands that support it, the user can select multiple candidates and apply an action on all of them (for example, to delete many buffers at once). We can filter and narrow the selection with a text input, and we can select all the visible candidates or unselect the current ones.

The default bindings are:

Furthermore, when the input is changed and the candidates are re-filtered, the selection is not altered, even if the marked elements are not visible. We can add-up the selections.

For example, if we have several Wikipedia and Stack Overflow pages open, and we want to close them, we can do the following:

How efficient is that!?

Of course should you wish, you always have the possibility to write your own delete-lots-of-buffers command :-)

Bookmarks, tags and compound queries

Now with Nyxt, you can tag your bookmarks and filter them with compound selectors.

When you bookmark a new page (C-m s or m M vi-mode or M-x bookmark-page), you are asked for a list of space-separated tags.

When about to open a bookmark (C-m o, m o, M-x set-url-from-bookmark), you can fuzzy-filter the list and also filter them with tag selectors: use +, - or start a compound selector with ( in which you can use and, or and not.


+lisp -blog
+blog (or lisp emacs)
+foo -bar (or (and john doe) (not (and tic tac)))

Additionally, the bookmarks are now saved in text format, more precisely, in s-expressions. You can easily read and edit them with another tool of your choice. In fact, we have a user who syncs them to a Github repository already.

Password manager

Nyxt 1.3.3 provides a password manager interface to KeepassXC or Pass.

See the commands save-new-password and copy-password.

Credits go to Solomon Bloch (@noogie13).

Session persistence

The user session is now automatically persisted. Close Nyxt, and find all your buffers open on subsequent starts.

You can also quit without saving it with M-x quit-after-clearing-session, or program Nyxt to adapt it to your liking. Maybe with hooks this time.

Clone Git repositories

Nyxt 1.3.3 introduces the vcs-clone (alias git-clone) command to clone Git repositories to disk. It asks for the destination and then runs asynchronously. It has a few configuration options, see the manual.

We see this new command as a simple preview of what is possible with Nyxt, as we can interface with the host system rather easily. We are excited to work more on developer helpers in the future, and to see what you'll come up with.

Download videos

Another utility is the new download-video command, which will download the video at the current URL. It is at the moment a wrapper around the youtube-dl program, which you must first install.

After the download, you can open your video with the open-file command (C-x C-f).

See the manual for more documentation and configuration options.

Reopen closed tabs

The new command reopen-buffer (bound to C-/, or u with VI bindings) will ask for a buffer from the most recently closed ones. It supports multiple selection. And reopen-last-buffer will work without a prompt.

Credits go to 4t0m.

Faster and improved fuzzy completion

Our minibuffer can now match against typos and has much improved performance (no more hang after some 15 input characters…).

The rules are as follows:

Example in execute-command (M-x):

View the buffer history (as a tree)

Early versions of Nyxt have supported tree based history. However, until now, visualizing the whole history tree has been difficult.

Nyxt 1.3.3 introduces the command buffer-history-tree to view it in HTML:

The keys C-b and C-f (history-backwards and history-forwards) are the "usual" ones. M-b and M-f (history-backwards-query and history-forwards-query) show the buffer history and ask for an url.

There is also history-all-query (C-M-b) that is self-explanatory and history-forwards-maybe-query that will "do the right thing", that is, ask for input only if there is ambiguity.

New command line argument: –no-init

The command line argument --no-init or -Q will allow you to start Nyxt without loading your init file.

Changes in configuration settings (alias "functional configuration system")

A new style of configuration is available allowing for a "functional" style of configuration. To know more about it, check out our discussion on GitHub.

What's next ?

We have a ton of ideas, as you certainly will the second you try Nyxt. We worked on it full time on our own resources for the last few months, however, they are limited. We might need to look for a real job. We don't see ourselves doing so much again if we can only devote a fraction of our time to it. That's why we launched the Indiegogo campaign. You are warmly invited to join in to make it a success (even with a small donation, the number of participants is also meaningful to us). Thank you!


If you'd like to become a sponsor, or if you need some help to getting started hacking in Nyxt, you can contact us at hello@atlas.engineer.

Find out more about Nyxt:

Did you enjoy this article? Register for our newsletter to receive the latest hacker news from the world of Lisp and browsers!