mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 16:02:24 +00:00
refactor(settings): rescope the About page
About had grown three sections that change system state and that nobody looks for under "About": a PATH install, a registry write, and a daemon restart. Two of them move out. The `tty7` CLI goes to Agents. That page already describes tty7 <-> agent integration in one direction (hooks reporting session status); the CLI is the other direction, and its own description leads with "so scripts and coding agents can drive tty7". The Loading and Unavailable arms there no longer return early, since the CLI toggle is about this GUI's own host rather than whichever machine the hook rows describe. The Windows Explorer context menu goes to the installer, which is where VS Code and Git for Windows put theirs: writing shell verbs is an install-time decision, not a runtime preference. A task checkbox drives new `--register-explorer-menu` / `--unregister-explorer-menu` flags, so the key layout stays in core::explorer_context_menu instead of being copied into the .iss. `status()` existed only to paint the settings UI and goes with it. The uninstaller unregisters unconditionally: an install that registered once and was later upgraded without the box ticked still holds keys that would otherwise point at a deleted exe. Server restart stays — it is about the app itself. Also fixes localization the About section had skipped: eight hardcoded English strings in the update block now have keys, and the orphaned SettingsCheckUpdatesDesc key (which still claimed "tty7 never updates itself", contradicted by the macOS in-app updater) is reused for a one-line description in place of a 60-word account of the updater's internals. Finally, terminology in the Chinese UI. hook, agent, worktree, diff and fork are read and spoken in English by Chinese developers, so translating them lost more than it gained. Scrollback was worse than a style question: 回滚 means rollback, the opposite direction. 窗格 for pane is kept — that one is standard.
This commit is contained in:
@@ -51,6 +51,12 @@ RestartApplications=no
|
||||
|
||||
[Tasks]
|
||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||
; Writing shell verbs is an install-time decision, the way VS Code and Git for
|
||||
; Windows treat theirs — not a runtime preference, so tty7 has no setting for
|
||||
; it. Off by default: the registry is user-visible system state. The keys land
|
||||
; under HKCU even for an all-users install, so this only ever affects whoever
|
||||
; ran the installer. Inno restores the previous choice when upgrading.
|
||||
Name: "explorermenu"; Description: "Add ""Open in tty7"" to the folder context menu"; GroupDescription: "Shell integration:"; Flags: unchecked
|
||||
|
||||
; Builds before the tty7/tty7-app split installed the GUI as tty7.exe. Upgrading
|
||||
; only *adds* tty7-app.exe, so the old binary would stay on disk — and a taskbar
|
||||
@@ -89,6 +95,11 @@ Name: "{autoprograms}\tty7"; Filename: "{app}\tty7-app.exe"
|
||||
Name: "{autodesktop}\tty7"; Filename: "{app}\tty7-app.exe"; Tasks: desktopicon
|
||||
|
||||
[Run]
|
||||
; The registry shape lives in core::explorer_context_menu, not here: the app
|
||||
; reads those same keys to decide whether an existing registration still points
|
||||
; at this install, and two hand-kept copies of the layout would drift. Runs
|
||||
; before the launch entry below so a first start already sees the final state.
|
||||
Filename: "{app}\tty7-app.exe"; Parameters: "--register-explorer-menu"; Tasks: explorermenu; Flags: runhidden waituntilterminated
|
||||
Filename: "{app}\tty7-app.exe"; Description: "{cm:LaunchProgram,tty7}"; Flags: nowait postinstall skipifsilent
|
||||
|
||||
[UninstallRun]
|
||||
@@ -99,6 +110,11 @@ Filename: "{app}\tty7-app.exe"; Description: "{cm:LaunchProgram,tty7}"; Flags: n
|
||||
; the call returns without opening a window. RunOnceId keys the entry so a repeated
|
||||
; uninstall doesn't run it twice.
|
||||
Filename: "{app}\tty7-app.exe"; Parameters: "--stop-daemon"; Flags: runhidden waituntilterminated; RunOnceId: "StopDaemon"
|
||||
; Unconditional, and deliberately not gated on the task: an install that had the
|
||||
; menu registered and was later upgraded without the box ticked still holds the
|
||||
; keys, and verbs pointing at a deleted exe are worse than a no-op. Removing keys
|
||||
; that were never written succeeds silently.
|
||||
Filename: "{app}\tty7-app.exe"; Parameters: "--unregister-explorer-menu"; Flags: runhidden waituntilterminated; RunOnceId: "UnregisterExplorerMenu"
|
||||
|
||||
[Code]
|
||||
(* Gracefully stop the persistent daemon before we overwrite tty7-app.exe. We can't
|
||||
|
||||
Reference in New Issue
Block a user