Skip to content

Feature: 智能 Pane 命名 (Smart Pane Naming) #11

Description

@Ding262

功能描述

根据 pane 中正在运行的命令自动命名 pane,让用户一眼就能知道每个 pane 在做什么。

使用场景

当有多个 pane 时,默认的「pane 0」「pane 1」命名毫无信息量。用户需要逐个查看才能找到想要的 pane。

建议实现

自动检测策略

  1. 前台进程检测: 读取 pane 的前台进程名称
  2. Shell 命令解析: 解析当前执行的命令
  3. 特殊规则: 对常见程序设置友好名称

规则示例

命令 显示名称
vim/nvim vim: filename
htop/btop 系统监控
git/lazygit Git
npm run dev npm: dev
python script.py python: script
ssh user@host ssh: host

配置选项

# keybinds.conf
auto_rename_pane on
rename_interval 5  # 每 5 秒更新一次

手动覆盖

允许用户手动设置名称,自动检测只在没有手动设置时生效:

# 手动命名
Ctrl+B ,  # 然后输入名称

技术实现

通过 PTY 获取前台进程组 ID,然后读取 /proc//comm 或使用 ps 命令获取进程名。

优先级

低 - 这是一个用户体验改进,不影响核心功能


相关项目参考

  • tmux 的 automatic-rename 选项
  • byobu 的状态栏显示

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions