aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/input/options.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-07-31 19:19:49 +0200
committerGitHub <noreply@github.com>2026-07-31 19:19:49 +0200
commit0e6e4404027a187f1399a43bf91bdbd13d9636e1 (patch)
treeb334f14704939620e846caa30ab925fefca34d70 /zellij-utils/src/input/options.rs
parentfix(build): remove manpage, honor CARGO_TARGET_DIR, add cargo argument passth... (diff)
downloadsl0ppij-0e6e4404027a187f1399a43bf91bdbd13d9636e1.tar.gz
sl0ppij-0e6e4404027a187f1399a43bf91bdbd13d9636e1.tar.xz
sl0ppij-0e6e4404027a187f1399a43bf91bdbd13d9636e1.zip
Support the Kitty Image Protocol (#5428)
* initial implementation - kinda working * tests and fixes * fix bounds * tests and compatibility fixes * fix: cursor scroll, clears, deletes, key tolerance, and host id range * fix: keep images alive across resize, relayout and history scroll * anchor to lines, not pixels * fix image/text alignments * config to allow disabling * fix pinned pane issue * never let host graphics replies reach the keyboard parser * fix nested session * properly handle fullscreening a pane * rustfmt * cleanup of ignored test * add pr
Diffstat (limited to 'zellij-utils/src/input/options.rs')
-rw-r--r--zellij-utils/src/input/options.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/zellij-utils/src/input/options.rs b/zellij-utils/src/input/options.rs
index 6c07fd7d..5937237f 100644
--- a/zellij-utils/src/input/options.rs
+++ b/zellij-utils/src/input/options.rs
@@ -322,6 +322,12 @@ pub struct Options {
#[serde(default)]
pub support_kitty_keyboard_protocol: Option<bool>,
+ /// Whether to enable support for the Kitty graphics (image) protocol (must also be supported
+ /// by the host terminal), defaults to true if the terminal supports it
+ #[clap(long, value_parser)]
+ #[serde(default)]
+ pub support_kitty_graphics_protocol: Option<bool>,
+
/// Whether to make sure a local web server is running when a new Zellij session starts.
/// This web server will allow creating new sessions and attaching to existing ones that have
/// opted in to being shared in the browser.
@@ -534,6 +540,9 @@ impl Options {
let support_kitty_keyboard_protocol = other
.support_kitty_keyboard_protocol
.or(self.support_kitty_keyboard_protocol);
+ let support_kitty_graphics_protocol = other
+ .support_kitty_graphics_protocol
+ .or(self.support_kitty_graphics_protocol);
let web_server = other.web_server.or(self.web_server);
let web_sharing = other.web_sharing.or(self.web_sharing);
let stacked_resize = other.stacked_resize.or(self.stacked_resize);
@@ -600,6 +609,7 @@ impl Options {
serialization_interval,
disable_session_metadata,
support_kitty_keyboard_protocol,
+ support_kitty_graphics_protocol,
web_server,
web_sharing,
stacked_resize,
@@ -685,6 +695,9 @@ impl Options {
let support_kitty_keyboard_protocol = other
.support_kitty_keyboard_protocol
.or(self.support_kitty_keyboard_protocol);
+ let support_kitty_graphics_protocol = other
+ .support_kitty_graphics_protocol
+ .or(self.support_kitty_graphics_protocol);
let web_server = other.web_server.or(self.web_server);
let web_sharing = other.web_sharing.or(self.web_sharing);
let stacked_resize = other.stacked_resize.or(self.stacked_resize);
@@ -751,6 +764,7 @@ impl Options {
serialization_interval,
disable_session_metadata,
support_kitty_keyboard_protocol,
+ support_kitty_graphics_protocol,
web_server,
web_sharing,
stacked_resize,