Icons zentral unter ~/.config/ai-control/icons (pool-/repo-unabhängig), nicht ladbares Icon crasht den Tray nicht mehr; Arbeitsordner nachträglich im ⚙︎-Dialog erfassbar (additionalDirectories + Edit-Permission); Import-Button umbenannt; claudeCommand konfigurierbar + CLAUDE_CONFIG_DIR aus Pool; Pool-Tabellen-Layout; README englisch mit Screenshots; MIT-Lizenz
This commit is contained in:
@@ -140,9 +140,9 @@ pub fn build_window(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Startet die PTY für das rufende Fenster: `claude-sync` im Projektordner.
|
||||
/// zsh -i lädt die .zshrc (PATH, fnm); Pool, Sentinel und git-Sync macht
|
||||
/// claude-sync selbst.
|
||||
/// Startet die PTY für das rufende Fenster: das konfigurierte Claude-Kommando
|
||||
/// (settings.json: claudeCommand, Default claude) im Projektordner, mit dem
|
||||
/// Pool-Verzeichnis als CLAUDE_CONFIG_DIR. zsh -i lädt die .zshrc (PATH, fnm).
|
||||
#[tauri::command]
|
||||
pub fn term_start(
|
||||
window: tauri::WebviewWindow,
|
||||
@@ -151,16 +151,20 @@ pub fn term_start(
|
||||
rows: u16,
|
||||
cols: u16,
|
||||
) -> Result<(), String> {
|
||||
let cwd = crate::project_dir(&crate::Paths::real(), &project)?;
|
||||
let paths = crate::Paths::real();
|
||||
let cwd = crate::project_dir(&paths, &project)?;
|
||||
|
||||
let pty = native_pty_system()
|
||||
.openpty(PtySize { rows, cols, pixel_width: 0, pixel_height: 0 })
|
||||
.map_err(|e| e.to_string())?;
|
||||
|
||||
let mut cmd = CommandBuilder::new("/bin/zsh");
|
||||
cmd.args(["-ic", "claude-sync"]);
|
||||
cmd.args(["-ic", &crate::claude_command(&paths)]);
|
||||
cmd.cwd(&cwd);
|
||||
cmd.env("TERM", "xterm-256color");
|
||||
if let Some(pool_dir) = crate::project_pool_dir(&project)? {
|
||||
cmd.env("CLAUDE_CONFIG_DIR", pool_dir);
|
||||
}
|
||||
|
||||
let mut child = pty.slave.spawn_command(cmd).map_err(|e| e.to_string())?;
|
||||
drop(pty.slave);
|
||||
|
||||
Reference in New Issue
Block a user