Опубликован релиз web-браузера qutebrowser 3.0, предоставляющего минимальный графический интерфейс, не отвлекающий от просмотра содержимого, и систему навигации в стиле текстового редактора Vim, построенную целиком на клавиатурных комбинациях. Код написан на языке Python с использованием PyQt5 и QtWebEngine. Исходные тексты распространяются под лицензией GPLv3. Применение Python не сказывается на производительности, так как отрисовка и разбор контента осуществляется силами движка Blink и библиотеки Qt.
Браузер поддерживает систему вкладок, менеджер загрузок, режим приватного просмотра, встроенный просмотрщик PDF (pdf.js), систему блокировки рекламы (на уровне блокировки хостов), интерфейс для просмотра истории посещений. Для просмотра видео в YouTube можно настроить вызов внешнего видеопроигрывателя. Перемещение по странице осуществляется при помощи клавиш “hjkl”, для открытия новой страницы можно нажать “o”, переключение между вкладками производится через клавиши “J” и “K” или “Alt-номер вкладки”. При нажатии “:” выводится приглашение командной строки, в которой можно осуществить поиск по странице и выполнить типовые команды, как в vim, например, “:q” для выхода и “:w” для записи страницы. Для быстрого перехода к элементам страницы предлагается система “хинтов”, которыми помечаются ссылки и изображения.
Значительное изменение номера версии связано с прекращением поддержки старых версий Qt, PyQt, QtWebEngine и Python, а также повышением требований к операционным системам. В частности, qutebrowser теперь поддерживает работу только с выпусками Qt 5.15 и новее (QtWebEngine > = 5.15.2) и c версиями Python, начиная с 3.8. Прекращена поддержка платформ macOS до версии 11 и Windows до версии 10-1607. Прекращена поддержка 32-разрядных сборок для Windows.
В новой версии:
- Добавлена поддержка сборки с Qt 6, которая теперь используется по умолчанию (если Qt 6 отсутствует, оставлена возможность сборки с Qt 5.15). Для явного выбора версии Qt предложены опции “–qt-wrapper PyQt5” и “–qt-wrapper PyQt6”, а также переменная окружения QUTE_QT_WRAPPER, которая может принимать значения PyQt6 и PyQt5.
- Переименованы команды (поддержка старых имён сохранена для обеспечения обратной совместимости):
- set-cmd-text → cmd-set-text
- repeat → cmd-repeat
- repeat-command → cmd-repeat-last
- later → cmd-later
- edit-command → cmd-edit
- run-with-count → cmd-run-with-count
- Реализована система рекомендаций, предлагающая релевантную замену в случае опечатки при вводе команды.
- Добавлена команда “:prompt-fileselect-external” для вызова внешнего диалога выбора имени файла для загрузки.
- Добавлена встроенная стартовая страница “qute://start”.
- Добавлены настройки для управления ведением лога ошибок при выполнении JavaScript: content.javascript.log_message.levels и content.javascript.log_message.excludes.
- Добавлена настройка tabs.title.elide для управления заменой части заголовка на символы “…” в имени вкладки.
- Добавлен скрипт qute-1pass, использующий менеджер паролей 1password при заполнении форм с паролем.
- Расширены возможности userscripts: в qutedmenu добавлены новые опции для формирования меню, в qute-keepassxc добавлена поддержка одноразовых паролей для разблокировки профиля.
- Добавлена настройка qt.chromium.experimental_web_platform_features для улучшения совместимости с сайтами, при использовании старых версий бэкенда (выставляется по умолчанию при сборке с Qt5).
- Добавлена настройка colors.webpage.darkmode.increase_text_contrast для улучшения качества тёмного стиля оформления.
- Добавлены параметры fonts.tooltip, colors.tooltip.bg и colors.tooltip.fg для настройки шрифта во всплывающих подсказках.
- В команды “:bookmark-del” и “:quickmark-del” добавлен флаг “–all” для удаления всех закладок.
- Предложены новые виджеты для строки состояния: clock для показа текущего времени и search_match для показа статистики совпадений при поиске текста на странице.
- Запрещён проброс с HTTPS на HTTP при загрузке файлов.