Rebrand remaining user-visible Grok strings to Kigi/Kimi
The welcome hero subtitle still read "Thanks for trying Grok Build"; theme display names, the NO_COLOR/COLORTERM diagnostics notes, the permission notification title, the self-update restart hints, and the clipboard-wrap protocol marker all still said Grok. Canonical theme keys (groknight/grokday) are unchanged — only display strings move.
This commit is contained in:
@@ -139,12 +139,12 @@ pub fn canonical_name(value: &str) -> Option<&'static str> {
|
||||
}
|
||||
|
||||
/// Human-friendly display name for a canonical theme value (e.g.
|
||||
/// `"groknight"` → `"Grok Night"`). Falls back to `value` verbatim.
|
||||
/// `"groknight"` → `"Kigi Night"`). Falls back to `value` verbatim.
|
||||
pub fn display_name_for_canonical(value: &str) -> &str {
|
||||
match value {
|
||||
"auto" => "Auto",
|
||||
"groknight" => "Grok Night",
|
||||
"grokday" => "Grok Day",
|
||||
"groknight" => "Kigi Night",
|
||||
"grokday" => "Kigi Day",
|
||||
"tokyonight" => "Tokyo Night",
|
||||
"rosepine-moon" => "Rose Pine Moon",
|
||||
other => other,
|
||||
|
||||
@@ -74,7 +74,7 @@ pub(super) fn handle_permission_request(
|
||||
{
|
||||
app.notification_service.notify(NotificationEvent {
|
||||
kind: NotificationEventKind::ApprovalRequired,
|
||||
title: "Grok".into(),
|
||||
title: "Kigi".into(),
|
||||
body: NotificationEventKind::ApprovalRequired.as_str().into(),
|
||||
session_id: Some(perm.request.session_id.0.to_string()),
|
||||
});
|
||||
|
||||
@@ -1619,8 +1619,8 @@ mod question_no_freeform_tests {
|
||||
Question {
|
||||
question: "You hit your free usage limit.".into(),
|
||||
options: vec![
|
||||
opt("Upgrade to SuperGrok", "For everyday coding"),
|
||||
opt("Upgrade to SuperGrok Heavy", "Highest usage limits"),
|
||||
opt("Option A", "For everyday coding"),
|
||||
opt("Option B", "Highest usage limits"),
|
||||
],
|
||||
multi_select: Some(false),
|
||||
id: None,
|
||||
|
||||
@@ -2993,8 +2993,8 @@ fn set_theme_toast_format_uses_display_name() {
|
||||
"toast must contain label, got: {toast:?}",
|
||||
);
|
||||
assert!(
|
||||
toast.contains("Grok Day"),
|
||||
"toast must use display name `Grok Day`, not canonical `grokday`, got: {toast:?}",
|
||||
toast.contains("Kigi Day"),
|
||||
"toast must use display name `Kigi Day`, not canonical `grokday`, got: {toast:?}",
|
||||
);
|
||||
assert!(toast.contains('\u{2713}'), "toast must contain the ✓ glyph");
|
||||
});
|
||||
@@ -3006,7 +3006,7 @@ fn set_auto_dark_theme_toast_format_uses_display_name() {
|
||||
let _ = dispatch(Action::SetAutoDarkTheme("grokday".into()), &mut app);
|
||||
let toast = read_toast(&app);
|
||||
assert!(toast.contains("Auto dark theme"));
|
||||
assert!(toast.contains("Grok Day"));
|
||||
assert!(toast.contains("Kigi Day"));
|
||||
assert!(toast.contains('\u{2713}'));
|
||||
});
|
||||
}
|
||||
@@ -3017,7 +3017,7 @@ fn set_auto_light_theme_toast_format_uses_display_name() {
|
||||
let _ = dispatch(Action::SetAutoLightTheme("groknight".into()), &mut app);
|
||||
let toast = read_toast(&app);
|
||||
assert!(toast.contains("Auto light theme"));
|
||||
assert!(toast.contains("Grok Night"));
|
||||
assert!(toast.contains("Kigi Night"));
|
||||
});
|
||||
}
|
||||
/// `apply_setting_rollback` for theme keys: a failed persist
|
||||
|
||||
@@ -640,7 +640,7 @@ pub fn color_support_warning(
|
||||
None,
|
||||
None,
|
||||
);
|
||||
warning.note = Some("Unset NO_COLOR and restart Grok.".to_string());
|
||||
warning.note = Some("Unset NO_COLOR and restart Kigi.".to_string());
|
||||
return Some(warning);
|
||||
}
|
||||
|
||||
@@ -677,7 +677,7 @@ pub fn color_support_warning(
|
||||
Some("export COLORTERM=truecolor"),
|
||||
None,
|
||||
);
|
||||
warning.note = Some("Persist in ~/.zshrc / ~/.bashrc and restart Grok.".to_string());
|
||||
warning.note = Some("Persist in ~/.zshrc / ~/.bashrc and restart Kigi.".to_string());
|
||||
Some(warning)
|
||||
}
|
||||
|
||||
|
||||
@@ -46,12 +46,12 @@ const THEME_CHOICES: &[EnumChoice] = &[
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "groknight",
|
||||
display: "Grok Night",
|
||||
display: "Kigi Night",
|
||||
description: "Neutral dark with magenta accent.",
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "grokday",
|
||||
display: "Grok Day",
|
||||
display: "Kigi Day",
|
||||
description: "Light theme for bright environments.",
|
||||
},
|
||||
EnumChoice {
|
||||
@@ -295,12 +295,12 @@ const SCREEN_MODE_CHOICES: &[EnumChoice] = &[
|
||||
const CONCRETE_THEME_CHOICES: &[EnumChoice] = &[
|
||||
EnumChoice {
|
||||
canonical: "groknight",
|
||||
display: "Grok Night",
|
||||
display: "Kigi Night",
|
||||
description: "Neutral dark with magenta accent.",
|
||||
},
|
||||
EnumChoice {
|
||||
canonical: "grokday",
|
||||
display: "Grok Day",
|
||||
display: "Kigi Day",
|
||||
description: "Light theme for bright environments.",
|
||||
},
|
||||
EnumChoice {
|
||||
|
||||
@@ -74,7 +74,7 @@ impl SettingCategory {
|
||||
pub struct EnumChoice {
|
||||
/// Canonical persisted value (e.g. `"groknight"`).
|
||||
pub canonical: &'static str,
|
||||
/// Display label shown in the chooser (e.g. `"Grok Night"`).
|
||||
/// Display label shown in the chooser (e.g. `"Kigi Night"`).
|
||||
pub display: &'static str,
|
||||
/// Sub-text shown in the chooser sheet (e.g. `"Dark + magenta accent"`).
|
||||
pub description: &'static str,
|
||||
|
||||
@@ -23,7 +23,7 @@ const H_INSET: u16 = 2;
|
||||
/// Horizontal gap (cols) between the logo and the right column inside the box.
|
||||
const LOGO_H_PAD: u16 = 3;
|
||||
|
||||
const HERO_SUBTITLE: &str = "Thanks for trying Grok Build, give feedback with /feedback!";
|
||||
const HERO_SUBTITLE: &str = "Thanks for trying Kigi, give feedback with /feedback!";
|
||||
|
||||
use super::{PROMPT_HEIGHT, VERSION_GAP};
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ use base64::Engine as _;
|
||||
use kigi_pager_render::clipboard::{ImageData, osc52_sink_active};
|
||||
|
||||
/// OSC body after `ESC ]` for a host image request.
|
||||
pub const REQUEST_BODY: &[u8] = b"999;GrokWrapClipboardImage?";
|
||||
pub const REQUEST_BODY: &[u8] = b"999;KigiWrapClipboardImage?";
|
||||
|
||||
/// Full request sequence written to stderr by the remote pager (`ESC ]` body `BEL`).
|
||||
pub fn request_osc_bytes() -> Vec<u8> {
|
||||
|
||||
@@ -2206,8 +2206,8 @@ pub async fn run_update(
|
||||
{
|
||||
tracing::warn!("Failed to persist auto_update=false for pinned install: {e}");
|
||||
}
|
||||
eprintln!(" ✓ grok v{} installed successfully!", version);
|
||||
eprintln!(" Please restart Grok.");
|
||||
eprintln!(" ✓ kigi v{} installed successfully!", version);
|
||||
eprintln!(" Please restart Kigi.");
|
||||
return Ok(Some(version.to_string()));
|
||||
}
|
||||
|
||||
@@ -2324,7 +2324,7 @@ pub async fn run_update(
|
||||
eprintln!(" ✓ grok v{} installed successfully!", target_version);
|
||||
|
||||
if !force && std::env::var_os("KIGI_AUTO_UPDATE").is_none() {
|
||||
eprintln!(" Please restart Grok.");
|
||||
eprintln!(" Please restart Kigi.");
|
||||
}
|
||||
Ok(Some(target_version.to_string()))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user