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:
kid
2026-07-26 16:52:19 +08:00
parent e59051a6de
commit 8da725114f
8 changed files with 97 additions and 305 deletions

View File

@@ -389,12 +389,11 @@ final class TmuxController: ObservableObject {
sendCommand("select-window -t @\(w.raw)")
}
func newWindow() { sendCommand("new-window") }
func killWindow(_ w: TmuxWindowID) { sendCommand("kill-window -t @\(w.raw)") }
// MARK: - UI-4
// MARK: - / resizeUI-4
// app split-window / join-pane
// window new-window / kill-window pane resize
// window/pane tmux prefix+c / prefix+& / prefix+app
// app split-window / join-pane
// pane **** attach layout
/// tmux ****
@@ -404,13 +403,6 @@ final class TmuxController: ObservableObject {
/// tmux
func killSession() { sendCommand("kill-session") }
/// pane ****
/// `%layout-change` frame "线 b"
func resizePane(_ p: TmuxPaneID, cols: Int? = nil, rows: Int? = nil) {
if let cols, cols > 0 { sendCommand("resize-pane -t %\(p.raw) -x \(cols)") }
if let rows, rows > 0 { sendCommand("resize-pane -t %\(p.raw) -y \(rows)") }
}
/// pane surface
func markPaneReady(_ p: TmuxPaneID) { surfaceByPane[p]?.gate.markReady() }