Выпуск полностью перенастраиваемого web-браузера Nyxt 2.0.0

Опубликован выпуск 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-страницах по произвольным столбцам.
Release. Ссылка here.