feat: 顶带 Shimo 化重设计 + 第一版功能减法
- 顶带:实心圆窗口按钮、无边框 tab 胶囊、右上 mosh/SSH 协议徽标 - 减法:删「新建 window/回首页」按钮、tab 组 +、pane 拖拽调宽, window/pane 管理交还 tmux(连带清理 resizePane/newWindow/ui-resize) - 底部状态行去重:只留链路 + tmux 概览,协议由顶带徽标独占 - 徽标全局统一:淡染底+同色文字胶囊(线框废除),拼写走 TXTech 规范 - CLAUDE.md 记录无头截图横屏帧缓冲右侧裁切大坑 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -174,9 +174,10 @@ enum UIPreviewFixture {
|
||||
/// 为什么不用坐标点击:本环境没有 GUI,idb companion 不可用;而坐标点击还会随布局改动失效。
|
||||
/// 走 URL 直接驱动 `AppRouter`/`SessionManager` 的公开语义,既稳定又正是要验的那条路径。
|
||||
///
|
||||
/// 支持:`home` · `minimize` · `close`(弹确认) · `close-now`(直接关) · `resize/<cols>`(resize-pane)
|
||||
/// 支持:`home` · `minimize` · `close`(弹确认) · `close-now`(直接关)
|
||||
/// · `pick/<会话名>` · `pick-new/<名>` · `pick-native`(连接前的会话选择器)
|
||||
/// · `dismiss` · `session/<序号>`(1 起,按首页卡片顺序)· `sidebar/toggle|pin`
|
||||
/// (`resize/<cols>` 已随「pane 拖拽调宽」一起删除 —— pane 尺寸交给 tmux 自己。)
|
||||
@MainActor
|
||||
static func handle(uiCommand path: [String], manager: SessionManager, router: AppRouter) -> Bool {
|
||||
switch path.first {
|
||||
@@ -207,14 +208,6 @@ enum UIPreviewFixture {
|
||||
guard let s = manager.sessionAwaitingChoice ?? router.route.sessionID.flatMap(manager.session)
|
||||
else { return false }
|
||||
s.useNativeTerminal()
|
||||
case "resize":
|
||||
// 验证 resize-pane 链路(拖拽手势本身是标准 DragGesture):`ui/resize/<cols>`。
|
||||
guard let id = router.route.sessionID, let s = manager.session(id),
|
||||
let tmux = s.tmuxController,
|
||||
let win = tmux.windows.first(where: { $0.id == tmux.activeWindowID }),
|
||||
let pane = win.activePane,
|
||||
let cols = path.dropFirst().first.flatMap(Int.init) else { return false }
|
||||
tmux.resizePane(pane, cols: cols)
|
||||
case "session":
|
||||
guard let n = path.dropFirst().first.flatMap(Int.init),
|
||||
let s = manager.session(atShortcutIndex: n - 1) else { return false }
|
||||
|
||||
Reference in New Issue
Block a user