我有几个基于终端的程序,我永远都离不开它们。当我从命令行启动它们时,使用类似
gnome-terminal --command foo
或者当我创建一个 Foo.desktop 文件并单击应用程序概览中的图标时,Gnome 会做正确的事情,它会创建一个新的终端窗口并在其中运行程序。我甚至可以使用 --title=Foo 为窗口指定一个独特的标题。但应用 Gnome 所知道的名称,显示在顶部栏中,旁边的图标仍然只是“终端”和通用的“提示”图标。:-(
除了不美观之外,这还使得切换到窗口变得不方便,因为它在 UI 中与所有运行 shell 的终端混在一起。如果我是鼠标用户(笑),则需要额外单击才能从终端组中选择窗口 - 事实上,我是一个 90% 以上的键盘用户,我不能直接进入概览并输入“Foo”,因为那样会启动一个新的,而不是切换到正在运行的窗口。
那么,UI 从哪里获得这些信息,以便我可以去那里更改它们?在尝试解决这个难题时,我发现了一些有趣的东西:如果我使用 urxvt 而不是 gnome-terminal 作为模拟器,Gnome 会显示“rxvt-unicode”作为应用程序名称。这到底是从哪里来的?该程序名为“urxvt”,窗口也是如此(在 Xwindow 资源名称的意义上),窗口类是“Urxvt”。据我所知,“rxvt-unicode”只是该项目的一个以人为本的好听的名字,而不是系统能理解的东西,那么 Gnome 从哪里获得它呢?
答案1
你不能,因为这就是 GNOME 终端的工作方式;它仍然是一个具有多个窗口的应用程序。(这类似于在 Firefox 中在不同的窗口中打开多个网页。)
您的用户体验问题已得到部分解决备用标签shell 扩展 — 尽管没有它,概览中的 Tab 键也会在所有窗口之间切换,而不仅仅是分组应用程序之间切换。
(FWIW:我不确定它rxvt-unicode
是从哪里来的,但如果你运行strings /usr/bin/urxvt|grep rxvt-unicode
,它确实会出现在那里。)