diff --git a/mac/zshell/Localizable.xcstrings b/mac/zshell/Localizable.xcstrings index b6aabe8..e5ee405 100644 --- a/mac/zshell/Localizable.xcstrings +++ b/mac/zshell/Localizable.xcstrings @@ -11668,18 +11668,18 @@ } }, "Usage:\n zshell\n zshell [arguments...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane [options]\n zshell +agent [options]\n zshell +help\n\nWith no arguments, zshell creates a project with a normal login shell.\nAn argv creates a project whose first terminal runs it directly.\n\n+themes browses Zshell's themes in the terminal. Moving through the list\npreviews the theme across the whole app; Return saves it and Esc\nrestores the previous theme.\n\n+pane provides project-scoped terminal layout, input, viewport reads,\nand output waits. +agent adds recognized-agent start, guarded prompts,\nlifecycle waits, result reads, and an installable, auto-updating\nskill for compatible coding agents. Run either command with --help for\nits complete contract.": {}, - "Usage:\n zshell\n zshell [arguments...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane [options]\n zshell +agent [options]\n zshell +help\n\nWith no arguments, zshell creates a project with a normal login shell.\nAn argv creates a project whose first terminal runs it directly.\n\n+themes browses Zshell's themes in the terminal. Moving through the list\npreviews the theme on the terminal — and across the whole app unless\n“Terminal theme only” is on; Return saves it and Esc restores the\nprevious theme.\n\n+pane provides project-scoped terminal layout, input, viewport reads,\nand output waits. +agent adds recognized-agent start, guarded prompts,\nlifecycle waits, result reads, and an installable, auto-updating\nskill for compatible coding agents. Run either command with --help for\nits complete contract.": { + "Usage:\n zshell\n zshell [arguments...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane [options]\n zshell +agent [options]\n zshell +help\n\nWith no arguments, zshell creates a project with a normal login shell.\nA single command matching a Quick Launch entry starts that saved entry.\nAn argv creates a project whose first terminal runs it directly.\n\n+themes browses Zshell's themes in the terminal. Moving through the list\npreviews the theme on the terminal — and across the whole app unless\n“Terminal theme only” is on; Return saves it and Esc restores the\nprevious theme.\n\n+pane provides project-scoped terminal layout, input, viewport reads,\nand output waits. +agent adds recognized-agent start, guarded prompts,\nlifecycle waits, result reads, and an installable, auto-updating\nskill for compatible coding agents. Run either command with --help for\nits complete contract.": { "localizations": { "ja": { "stringUnit": { "state": "translated", - "value": "使い方:\n zshell\n zshell <コマンド> [引数...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane <コマンド> [オプション...]\n zshell +agent <コマンド> [オプション...]\n zshell +help\n\n引数なしの場合、zshellは通常のログインシェルでプロジェクトを作成します。\n引数を指定すると、最初のターミナルでそのコマンドを直接実行するプロジェクトを作成します。\n\n+themesではターミナル内でZshellのテーマを閲覧できます。リストを移動すると\nターミナルでテーマをプレビューし、「ターミナルにのみテーマを適用」がオフの\n場合はアプリ全体にもプレビューします。Returnで保存、Escで以前のテーマに戻します。\n\n+paneはプロジェクト単位のターミナルレイアウト、入力、ビューポートの読み取り、\n出力待ちを提供します。+agentは対応するコーディングエージェント向けに、認識済み\nエージェントの起動、保護されたプロンプト、ライフサイクル待ち、結果の読み取り、\nインストールして自動更新できるスキルを提供します。\nいずれのコマンドも --help を付けて実行すると完全な仕様を確認できます。" + "value": "使い方:\n zshell\n zshell <コマンド> [引数...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane <コマンド> [オプション...]\n zshell +agent <コマンド> [オプション...]\n zshell +help\n\n引数なしの場合、zshellは通常のログインシェルでプロジェクトを作成します。\n単一のコマンドがクイック起動エントリと一致する場合、その保存済みエントリを起動します。\n引数を指定すると、最初のターミナルでそのコマンドを直接実行するプロジェクトを作成します。\n\n+themesではターミナル内でZshellのテーマを閲覧できます。リストを移動すると\nターミナルでテーマをプレビューし、「ターミナルにのみテーマを適用」がオフの\n場合はアプリ全体にもプレビューします。Returnで保存、Escで以前のテーマに戻します。\n\n+paneはプロジェクト単位のターミナルレイアウト、入力、ビューポートの読み取り、\n出力待ちを提供します。+agentは対応するコーディングエージェント向けに、認識済み\nエージェントの起動、保護されたプロンプト、ライフサイクル待ち、結果の読み取り、\nインストールして自動更新できるスキルを提供します。\nいずれのコマンドも --help を付けて実行すると完全な仕様を確認できます。" } }, "zh-Hans": { "stringUnit": { "state": "translated", - "value": "用法:\n zshell\n zshell <命令> [参数...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane <命令> [选项...]\n zshell +agent <命令> [选项...]\n zshell +help\n\n不带参数时,zshell 会创建一个使用普通登录 Shell 的项目。\n若提供命令参数,则创建项目并在第一个终端中直接运行该命令。\n\n+themes 可在终端中浏览 Zshell 主题。在列表中移动时,会在终端中\n预览主题;若未开启“主题仅用于终端”,也会在整个应用中预览。\n按 Return 保存,按 Esc 恢复之前的主题。\n\n+pane 提供项目级终端布局、输入、视口读取和输出等待。+agent 为\n兼容的编码代理提供可识别代理的启动、受控提示、生命周期等待、\n结果读取,以及可安装、自动更新的技能。运行任一命令并附加\n--help 可查看其完整用法。" + "value": "用法:\n zshell\n zshell <命令> [参数...]\n zshell +themes [--dark | --light]\n zshell +themes --list [--dark | --light]\n zshell +pane <命令> [选项...]\n zshell +agent <命令> [选项...]\n zshell +help\n\n不带参数时,zshell 会创建一个使用普通登录 Shell 的项目。\n若单个命令与快速启动条目名称匹配,则启动该已保存的条目。\n若提供命令参数,则创建项目并在第一个终端中直接运行该命令。\n\n+themes 可在终端中浏览 Zshell 主题。在列表中移动时,会在终端中\n预览主题;若未开启“主题仅用于终端”,也会在整个应用中预览。\n按 Return 保存,按 Esc 恢复之前的主题。\n\n+pane 提供项目级终端布局、输入、视口读取和输出等待。+agent 为\n兼容的编码代理提供可识别代理的启动、受控提示、生命周期等待、\n结果读取,以及可安装、自动更新的技能。运行任一命令并附加\n--help 可查看其完整用法。" } } } diff --git a/mac/zshell/QuickLaunchPanelController.swift b/mac/zshell/QuickLaunchPanelController.swift index 1e17803..6a87589 100644 --- a/mac/zshell/QuickLaunchPanelController.swift +++ b/mac/zshell/QuickLaunchPanelController.swift @@ -849,7 +849,12 @@ private final class QuickLaunchRowView: NSView { comment: "Accessibility label of a Quick Launch row's delete button." )) - let stack = NSStackView(views: [iconView, titleLabel, detailLabel, editButton, deleteButton]) + let trailingSpacer = NSView() + trailingSpacer.setContentHuggingPriority(.defaultLow, for: .horizontal) + + let stack = NSStackView(views: [ + iconView, titleLabel, detailLabel, trailingSpacer, editButton, deleteButton, + ]) stack.orientation = .horizontal stack.alignment = .centerY stack.spacing = 9 diff --git a/mac/zshell/TerminalManager.swift b/mac/zshell/TerminalManager.swift index ddd7d61..df1f86f 100644 --- a/mac/zshell/TerminalManager.swift +++ b/mac/zshell/TerminalManager.swift @@ -595,6 +595,12 @@ final class TerminalManager: nonisolated ObservableObject { ?? registry.first { $0.window === NSApp.mainWindow } ?? registry.last { $0.window != nil } guard let manager else { return } + if arguments.count == 1, + let entry = QuickLaunchStore.shared.entries.first(where: { $0.name == arguments[0] }) { + manager.runQuickLaunchEntry(entry) + manager.window?.makeKeyAndOrderFront(nil) + return + } manager.newProject( cliLaunch: CLIProjectLaunch( arguments: arguments, diff --git a/mac/zshell/ZshellCommandLine.swift b/mac/zshell/ZshellCommandLine.swift index e3e2565..ea55d26 100644 --- a/mac/zshell/ZshellCommandLine.swift +++ b/mac/zshell/ZshellCommandLine.swift @@ -578,6 +578,7 @@ private func printHelp() { zshell +help With no arguments, zshell creates a project with a normal login shell. + A single command matching a Quick Launch entry starts that saved entry. An argv creates a project whose first terminal runs it directly. +themes browses Zshell's themes in the terminal. Moving through the list