mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-29 09:37:37 +08:00
refactor(terminal): unify terminal selection using global settings
- Remove terminal selector from Session Manager page - Backend now reads terminal preference from global settings - Add terminal name mapping (iterm2 → iterm) for compatibility - Add WezTerm support to macOS terminal options - Add WezTerm translations for zh/en/ja
This commit is contained in:
@@ -652,6 +652,7 @@ exec bash --norc --noprofile
|
||||
"alacritty" => launch_macos_open_app("Alacritty", &script_file, true),
|
||||
"kitty" => launch_macos_open_app("kitty", &script_file, false),
|
||||
"ghostty" => launch_macos_open_app("Ghostty", &script_file, true),
|
||||
"wezterm" => launch_macos_open_app("WezTerm", &script_file, true),
|
||||
_ => launch_macos_terminal_app(&script_file), // "terminal" or default
|
||||
};
|
||||
|
||||
|
||||
@@ -26,16 +26,24 @@ pub async fn get_session_messages(
|
||||
|
||||
#[tauri::command]
|
||||
pub async fn launch_session_terminal(
|
||||
target: String,
|
||||
command: String,
|
||||
cwd: Option<String>,
|
||||
custom_config: Option<String>,
|
||||
) -> Result<bool, String> {
|
||||
let command = command.clone();
|
||||
let target = target.clone();
|
||||
let cwd = cwd.clone();
|
||||
let custom_config = custom_config.clone();
|
||||
|
||||
// Read preferred terminal from global settings
|
||||
let preferred = crate::settings::get_preferred_terminal();
|
||||
// Map global setting terminal names to session terminal names
|
||||
// Global uses "iterm2", session terminal uses "iterm"
|
||||
let target = match preferred.as_deref() {
|
||||
Some("iterm2") => "iterm".to_string(),
|
||||
Some(t) => t.to_string(),
|
||||
None => "terminal".to_string(), // Default to Terminal.app on macOS
|
||||
};
|
||||
|
||||
tauri::async_runtime::spawn_blocking(move || {
|
||||
session_manager::terminal::launch_terminal(
|
||||
&target,
|
||||
|
||||
Reference in New Issue
Block a user