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:
@@ -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: - 关闭 / resize(UI-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() }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user