Терминальный эмулятор Kitty, написанный на C, Python и Go и использующий OpenGL для отрисовки, выпустил версию 0.50. Главное новшество — сохранение сессии: теперь при завершении работы kitty запоминает каждое окно ОС, вкладку и прокручиваемую историю, а при следующем запуске возвращает их на место. Поддерживаются Linux и macOS.
Функция включается в kitty.conf параметром restore_session_after_logout. На Linux для неё нужен десктопный портал с третьей версией интерфейса inhibit. Состояние хранится незашифрованным, но прочитать его может только сам пользователь. В macOS снимок сессии шифруется отдельным ключом в связке ключей.
Док-окна вне раскладки
Второе заметное дополнение — док-окна. Окно можно прикрепить к краю другого окна или вкладки; такие панели стоят вне раскладки и предназначены для статус-бара, дерева файлов и подобных элементов. Док окна следует за своим окном, а док вкладки живёт до закрытия последнего обычного окна в этой вкладке.
Настройка делается через привязки клавиш. В тесте на Ubuntu 26.10 с GNOME 51 на Wayland автор донора добавил две команды:
map f1 launch --type=tab-dock --dock-edge=bottom --dock-size=1 --dock-skip-focus watch -n1 date
map f2 launch --type=window-dock --dock-edge=left --dock-size=25% top
F1 создаёт полосу высотой в одну строку внизу окна, F2 — панель top у левого края, под которую оболочка освобождает место. Повторное нажатие F2 добавляет ещё одну панель рядом с первой. Новая вкладка по Ctrl+Shift+T открывается с чистого листа, а прежний вид уходит на задний план.
Шейдеры следа курсора и тачскрин
В релиз вошли три новых шейдера следа курсора: cursor-trail-railgun, cursor-trail-torpedo и cursor-trail-pixiedust. Они испускают частицы от движущегося курсора, создавая эффект, похожий на Neovide. Для работы нужно включить следы курсора, а вызывать шейдеры теперь можно и нажатиями клавиш. В тесте конфигурация cursor_trail 1 и custom_shaders cursor-trail-pixiedust дала цепочку мелких белых точек, остающуюся за прыгающим по окну курсором.
Пользователям Wayland стал доступен тачскрин: касание работает как клик, свайп — как прокрутка, а удержание пальца с последующим перетаскиванием выделяет текст. Оформление окон в GNOME и похожих композиторах теперь выглядит нативно — используется шрифт заголовка и раскладка кнопок рабочего стола.
Исправление обхода пароля
Помимо возможностей, 0.50 закрывает уязвимость, позволявшую вредоносному запросу обойти парольную аутентификацию удалённого управления. В релизе также исправлен ряд ошибок работы с памятью.
Как установить
Быстрее всего поставить свежую версию установочным скриптом:
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
Kitty есть в репозиториях большинства крупных дистрибутивов, но там версии обычно отстают:
sudo apt install kitty
sudo dnf install kitty
sudo pacman -S kitty
Первая команда — для Ubuntu, вторая — для Fedora, третья — для Arch Linux. При желании можно собрать из исходников. Если вы уже пользуетесь kitty, присмотритесь к встроенным инструментам kittens — они расширяют возможности терминала без сторонних программ. А тем, кто выбирает эмулятор с нуля, полезно сравнить релиз с Ghostty 1.4, где тоже делали ставку на производительность и память.
Частые вопросы
Что именно восстанавливает Kitty 0.50 после перезапуска?
Все окна ОС, вкладки и прокручиваемую историю каждого окна. Снимок делается при завершении сессии и подхватывается при следующем запуске.
Как включить восстановление сессии?
Добавьте в kitty.conf параметр restore_session_after_logout. Без него функция не работает.
Что требуется на Linux для этой функции?
Десктопный портал с третьей версией интерфейса inhibit. На macOS дополнительных условий нет, а снимок там шифруется ключом из связки ключей.
Чем док-окно отличается от обычного?
Оно крепится к краю другого окна или вкладки, стоит вне раскладки и не участвует в её перестроении. Подходит для статус-бара или дерева файлов.
Док вкладки исчезнет сам?
Да, он существует, пока в этой вкладке открыто хотя бы одно обычное окно. Док окна следует за своим окном.
Почему шейдер следа курсора не работает?
Скорее всего, не включены следы курсора. Кроме того, шейдер нужно указать в конфигурации через custom_shaders.
Как выделять текст тачскрином на Wayland?
Удержите палец на месте, а затем проведите им, чтобы выделить остальную часть текста. Короткое касание работает как клик, свайп — как прокрутка.
Что за уязвимость исправлена в релизе?
Та, что позволяла вредоносному запросу обойти парольную аутентификацию удалённого управления. Вместе с ней устранены несколько ошибок работы с памятью.
Обновится ли kitty из репозитория дистрибутива?
Не сразу: пакеты в репозиториях крупных дистрибутивов обычно отстают от новых выпусков. Для версии 0.50 надёжнее установочный скрипт или сборка из исходников.
Источник: itsfoss.com