kitty 0.50 ra mắt: cửa sổ dock và khôi phục phiên sau đăng xuất
Trình giả lập terminal tăng tốc GPU kitty vừa phát hành phiên bản 0.50, bổ sung khả năng dock cửa sổ vào cạnh cửa sổ khác hoặc vào tab, tự động lưu và khôi phục toàn bộ phiên làm việc sau khi đăng xuất hay khởi động lại máy. Bản cập nhật cũng hoàn thiện hàng loạt tính năng trước đó như shader tùy biến, tab dọc và giao thức đồ họa, kèm nhiều bản vá bảo mật.

kitty 0.50 đã chính thức ra mắt, mang theo hai tính năng lớn là cửa sổ dock (docked window) và khôi phục phiên làm việc sau khi đăng xuất. Đây là bản cập nhật đáng chú ý của trình giả lập terminal (terminal emulator) tăng tốc bằng GPU, vốn được nhiều lập trình viên và quản trị hệ thống ưa chuộng vì tốc độ và khả năng tùy biến sâu.
Dock cửa sổ ra ngoài bố cục
Từ phiên bản 0.50, cửa sổ của kitty có thể được dock vào một cạnh của cửa sổ khác hoặc của tab. Cửa sổ dock nằm ngoài bố cục chia cửa sổ (layout), nên phù hợp cho thanh trạng thái, cây thư mục hay một shell giữ cạnh trình soạn thảo.
Một dock gắn với cửa sổ nào sẽ đi theo cửa sổ đó, chuyển cùng sang tab khác và đóng khi cửa sổ gốc đóng. Dock được tạo bằng lệnh launch --type=window-dock hoặc launch --type=tab-dock, và cũng được lưu lại trong các phiên (session).
Khôi phục nguyên trạng sau khi đăng xuất
Tùy chọn mới restore_session_after_logout cho phép kitty lưu trạng thái khi người dùng đăng xuất, khởi động lại hoặc tắt máy, rồi khôi phục ở lần khởi động kế tiếp. Mỗi instance kitty sẽ trở lại với đầy đủ cửa sổ hệ điều hành, tab, cửa sổ con và cả scrollback (phần lịch sử nội dung đã cuộn qua).
Trên macOS, trạng thái được mã hóa bằng khóa lưu trong keychain. Trên Linux, tính năng này cần desktop portal Inhibit.
Tab như không gian làm việc có tên
Bản 0.50 bổ sung khả năng dùng tab giống các workspace có tên:
- Tùy chọn
launch --focus-existingđể chuyển tới cửa sổ hoặc tab đã tồn tại thay vì tạo mới. - Giá trị
by-titlecholaunch --locationgiúp sắp xếp tab theo thứ tự chữ cái. - Lệnh
kitten @ detach-windowvà actiondetach_windowcó thể gửi cửa sổ sang một tab có tên, tự tạo tab nếu chưa có.
Wayland và giao diện
Trên Wayland, phần trang trí cửa sổ phía client (dùng trên các compositor như GNOME) nay trông giống trang trí gốc của GNOME và tuân theo font tiêu đề, tỉ lệ chữ, bố cục nút cùng hành vi click tiêu đề của hệ thống.
Wayland cũng lần đầu hỗ trợ màn hình cảm ứng: chạm là click, kéo ngón tay để cuộn có quán tính, và giữ ngón tay một lúc trước khi di chuyển để chọn văn bản.
Shader tùy biến và đồ họa
Hệ thống shader tùy biến (chương trình đồ họa chạy trên GPU) có thêm ba shader tạo hiệu ứng hạt bay theo con trỏ mang phong cách neovide: cursor-trail-railgun, cursor-trail-torpedo và cursor-trail-pixiedust. Shader giờ có thể điều khiển bằng phím qua action shader_event, có thể mờ dần, đảo chiều và lặp.
Giao thức đồ họa (graphics protocol) bổ sung hai định dạng ảnh dùng bảng màu của terminal làm chỉ mục điểm ảnh, nhờ đó ảnh đổi màu theo bảng màu giao diện. Client cũng có thể kiểm tra terminal có hỗ trợ từng tính năng cụ thể như animation hay Unicode placeholder hay không.
Tối ưu hiệu năng và sửa lỗi
Bản 0.50 tiếp nối đợt tối ưu hiệu năng lớn từ 0.49, với mức cải thiện thông lượng thực tế 15–35% tùy khối lượng công việc. Các con số được nêu gồm: xử lý văn bản lớn với scrollback vượt dung lượng cache CPU nhanh hơn khoảng 35%; giải mã UTF-8 bằng SIMD nhanh hơn khoảng 20% với ASCII và 50% với văn bản nhiều byte; bộ giải mã AVX-512 nhanh hơn khoảng 75% với văn bản nhiều byte trên CPU Intel Ice Lake trở lên và AMD Zen 4 trở lên.
Bản phát hành cũng vá một loạt lỗi bảo mật, trong đó có lỗi cho phép một yêu cầu được tạo khéo léo vượt qua xác thực remote control bằng mật khẩu, nhiều lỗi tràn bộ đệm và use-after-free khi tải lại cấu hình, cùng các lỗ hổng đã được gán mã CVE trong giao thức kéo thả và giao thức điều khiển màu.
Ngoài ra còn rất nhiều sửa lỗi chi tiết: quản lý cửa sổ và tab, ssh kitten, diff kitten, clipboard, chuyển file, hiển thị IME, cùng các lỗi đặc thù trên macOS, Wayland và X11.
Góc nhìn
Với lập trình viên và kỹ sư Việt Nam đang dùng kitty làm terminal chính, hai tính năng đáng thử nhất là cửa sổ dock và khôi phục phiên. Dock giúp giữ một shell hay cây thư mục cạnh trình soạn thảo mà không phải chia nhỏ bố cục, còn khôi phục phiên giúp bớt công dựng lại môi trường làm việc sau mỗi lần khởi động lại máy hay cập nhật hệ điều hành.
Những ai làm việc trên server qua SSH nên lưu ý nhiều bản vá trong lần này liên quan trực tiếp tới ssh kitten và quy trình chuyển file từ xa, nên cập nhật sớm. Trên Linux, tính năng khôi phục phiên phụ thuộc desktop portal Inhibit, nên môi trường nào thiếu portal đó sẽ không dùng được đầy đủ.
Nguồn: sw.kovidgoyal.net · Quy trình biên tập


