From 4600309051e5d6bea1f64e72cec585b102117ce5 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 13 May 2026 14:14:40 +0300 Subject: feat: support kitty graphics in attached clients --- src/config/model.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/config') diff --git a/src/config/model.rs b/src/config/model.rs index 8d2b356f..ffc117ed 100644 --- a/src/config/model.rs +++ b/src/config/model.rs @@ -149,6 +149,8 @@ pub struct UiConfig { pub struct AdvancedConfig { /// Allow launching herdr inside an existing herdr pane. Default: false. pub allow_nested: bool, + /// Experimental local Kitty graphics rendering for attached clients. Default: false. + pub kitty_graphics: bool, /// Maximum scrollback buffer size in bytes retained per pane terminal. Default: 10000000. #[serde(alias = "scrollback_lines")] pub scrollback_limit_bytes: usize, @@ -237,6 +239,7 @@ impl Default for AdvancedConfig { fn default() -> Self { Self { allow_nested: false, + kitty_graphics: false, scrollback_limit_bytes: DEFAULT_SCROLLBACK_LIMIT_BYTES, } } @@ -331,15 +334,30 @@ delivery = "terminal" ); } + #[test] + fn kitty_graphics_default_off_and_parse() { + let config = Config::default(); + assert!(!config.advanced.kitty_graphics); + + let toml = r#" +[advanced] +kitty_graphics = true +"#; + let config: Config = toml::from_str(toml).unwrap(); + assert!(config.advanced.kitty_graphics); + } + #[test] fn advanced_config_parses() { let toml = r#" [advanced] allow_nested = true +kitty_graphics = true scrollback_limit_bytes = 12345 "#; let config: Config = toml::from_str(toml).unwrap(); assert!(config.advanced.allow_nested); + assert!(config.advanced.kitty_graphics); assert_eq!(config.advanced.scrollback_limit_bytes, 12345); } -- cgit v1.2.3