是否可以在 my 中有一个可点击的链接,PS1
打开一个弹出菜单或类似的东西?
我的场景
我已经个性化了我的.bashrc
,以显示我PS1
的
user@machine: path #/$
如果我在 git 存储库中,它还会显示我的分支和状态的不同字符
user@machine: path [branch !] #/$
顺便说一句,我在 Ask Ubuntu 中获得了执行此操作的代码。
我的想法
我想要的是单击分支名称,然后显示下载的分支列表(有或没有更改它的选项)。
我为弹出菜单找到了一些“对话框”和“选择/选择”选项,但找不到可点击链接的任何内容。
如果我必须这样做,我会选择像 Terminator 这样的终端模拟器并编写一个新插件。我可能不得不破解这一切是如何工作的,但终结者应该可以拾取文本,然后使用它对 shell 环境的了解,呈现一个 GTK3 菜单供选择。
我能想到的彻底处理此问题的唯一另一种方法是编写自己的外壳替换。围绕 bash(等)并处理鼠标参与的东西。有像 PyScreen 这样的东西可以做到这一点,但没有什么可以直接做你想做的事。代理终端也是渲染错误的秘诀。即使是这个领域的成熟事物(例如
screen
)偶尔也会把事情搞砸。最重要的是,这些都不是 20 分钟的锻炼。插件需要我几个小时,shell 可能需要几天才能正确。我可能会反驳任何告诉我这样做的人,并说这是对我时间的不经济利用。
如果我只是自己想要这个,我可能只是写一个
br
列出分支并允许我选择的小命令。那里有示例,但我不会将任何示例作为最佳解决方案。他们都是你想要的妥协。