Опубликован выпуск web-браузера Nyxt 2.0.0, рассчитанного на применение продвинутыми пользователями, для которых предоставляются практически безграничные возможности по настройке и изменению поведения любых аспектов работы с браузером. Концептуально Nyxt напоминает Emacs и Vim, и вместо готового набора настроек, даёт возможность менять саму логику работы, используя язык Lisp. Пользователь может переопределить или перенастроить любые классы, методы, переменные и функции. Код проекта написан на языке Lisp и распространяется под лицензией BSD. Готовые сборки сформированы для Linux (Alpine, Arch, Guix, Nix, Ubuntu) и macOS.
Для повышения эффективности рабочего процесса браузер оптимизирован для управления с клавиатуры и поддерживает типовые клавиатурные комбинации Emacs, vi и CUA. Проект не привязан к конкретному браузерному движку и использует минимальный API для взаимодействия с web-движками. На базе данного API имеются прослойки для подключения движков WebKit и Blink (по умолчанию применяется WebKitGTK), но при желании браузер можно портировать и на другие движки. В состав входит встроенная система блокирования рекламы. Поддерживается подключение дополнений, написанных на Common Lisp (в планах реализация поддержки WebExtensions, по аналогии с Firefox и Chrome).
Основные возможности:
- Поддержка вкладок и возможность быстрого переключения между открытыми вкладками, используя встроенный поиск (например, чтобы перейти к вкладке с сайтом www.example.com достаточно начать вводить “exa..” и будут показаны имеющиеся вкладки.
- Возможность одновременного выделения разных объектов на странице для их использования в качестве аргументов команд. Например, пользователь может одновременно выбрать и совершить действия с несколькими изображениями на странице.
- Система закладок с поддержкой классификации и группировки по тегам.
- Возможность поиска по содержимому, охватывая сразу несколько вкладок.
- Древовидный интерфейс для просмотра истории посещений, позволяющий проследить историю переходов и ветвление.
- Поддержка тем оформления (например, имеется тёмная тема) и возможность изменения элементов интерфейса через CSS. Режим “dark-mode” позволяющий автоматически применить к текущей странице тёмное оформление, даже если сайт не предоставляет тёмную тему.
- Строка состояния Nyxt Powerline, через которую можно быстро получить любые данные о состоянии и настройке.
- Профили данных, дающие возможность изолировать разные типы деятельности, например, в разные профили можно вынести активность, связанную с работой и развлечениями. В каждом профиле используется своя база Cookie, не пересекающаяся с другими профилями.
- Режим блокировки отслеживания (reduce-tracking-mode), позволяющий ограничить активность различных счётчиков и виджетов, используемых для отслеживания перемещения пользователя между сайтами.
- По умолчанию включена sandbox-изоляция web-движка – каждая вкладка обрабатывается в отдельном sandbox-окружении.
- Управление сеансами, пользователь может сохранить часть истории в файл и затем восстановить состояние по этому файлу.
- Поддержка автозаполнения форм с использованием предопределённого или вычисленного содержимого. Например, можно настроить добавление в поле текущей даты.
- Возможность загрузки обработчиков, настроек и режимов в зависимости от маски URL. Например, можно настроить включение тёмного режима для Wikipedia при открытии сайта после 10 часов вечера.
- Возможность вызова внешнего редактора для редактирования определённых полей в web-формах. Например, при необходимости набора объёмного текста можно вызвать текстовый редактор.
- Режимы принудительного отключения звука и WebGL в выбранных вкладках.
- Режим визуального выделения текста с использование только клавиатуры.
- Режим отслеживания изменений (watch-mode), позволяющий автоматически перезагружать страницу через определённое время.
- Режим визуализации изменений между двумя состояниями страницы.
- Возможность замены нескольких страниц/вкладок на одну сводную страницу.
- Поддержка пакетной загрузки по ссылкам на странице (например, разом можно загрузить все изображения).
- Возможность использования разных цветов для внутренних и внешних ссылок. Поддержка показа URL, на который ведёт ссылка, рядом с текстом ссылки. Поддержка скрытия ссылок для уже ранее открытых URL.
- Возможность сортировки таблиц на web-страницах по произвольным столбцам.