Add full disk access checks and settings

Add background themes and custom images

Add shell command logging toggle

Add UTF-8 locale guarantee for PTY

Add Claude hook settings injection

Add hotkey system for GUI

Add glass panel styling

Add search disabled state for agent panels

Add zoom toggle command

Add device report filtering

Add entitlements for notarization

Update version to 0.1.27
This commit is contained in:
2026-06-15 22:26:06 +07:00
parent 2ee2aaaffb
commit ee845e15b3
30 changed files with 859 additions and 123 deletions
+15
View File
@@ -8,6 +8,19 @@ pub struct ConfigView {
pub font_size: u16,
pub theme: String,
pub accent: String,
/// Background-theme name (Warp-style full-window fill). "none" = solid.
#[serde(default = "default_background")]
pub background: String,
/// Absolute path to a custom background image (used when background == "custom").
#[serde(default)]
pub background_image: String,
/// Whether shell-command status (OSC 133) is logged; agent activity always is.
#[serde(default)]
pub log_shell_commands: bool,
}
fn default_background() -> String {
"none".into()
}
#[cfg(test)]
@@ -18,6 +31,8 @@ mod tests {
let c = ConfigView {
default_shell: "/bin/zsh".into(), font_family: "JetBrains Mono".into(),
font_size: 13, theme: "dark".into(), accent: "blue".into(),
background: "none".into(), background_image: String::new(),
log_shell_commands: false,
};
let back: ConfigView = serde_json::from_str(&serde_json::to_string(&c).unwrap()).unwrap();
assert_eq!(back, c);
+6
View File
@@ -151,6 +151,12 @@ pub enum Cmd {
theme: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
accent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
background: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
background_image: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
log_shell_commands: Option<bool>,
},
}