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:
2026-07-17 18:22:00 -04:00
parent 9e70a8fa18
commit 5406fb7d68
10 changed files with 22 additions and 22 deletions
@@ -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
+2 -2
View File
@@ -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)
}
+4 -4
View File
@@ -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> {