![破解 Ubuntu 18 Dock,不将同一应用程序的窗口分组](https://linux22.com/image/918596/%E7%A0%B4%E8%A7%A3%20Ubuntu%2018%20Dock%EF%BC%8C%E4%B8%8D%E5%B0%86%E5%90%8C%E4%B8%80%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%AA%97%E5%8F%A3%E5%88%86%E7%BB%84.png)
我正在尝试破解方法,避免在 Ubuntu 18 的 Dock 中将同一应用程序的多个窗口分组,因为这似乎不是本机或 dash-to-dock 提供的可用功能。我尝试通过复制文件来创建应用程序的副本.desktop
,即制作/usr/share/applications/terminator3.desktop
和/usr/share/applications/terminator4.desktop
。
但是,启动这两个应用程序后,它们仍然在 Dock 中作为 Terminator 的两个窗口分组在一起。我更改了.desktop
副本之间文件中我认为相关的字段的值,并确保副本对Exec
和TryExec
字段使用不同的可执行副本。但是,窗口仍然被分组为同一应用程序。我甚至尝试在可执行文件(它们是 Python 脚本)中添加注释,以确保 Gnome3 可以对可执行文件进行区分,以查看它们是否是同一程序。
.desktop
文件
[Desktop Entry]
Name=terminator3
TryExec=terminator3
Exec=terminator3
Type=Application
WMClass=terminator3
X-WMClass=terminator3
StartupWMClass=terminator3
X-StartupWMClass=terminator3
[NewWindow Shortcut Group]
Exec=terminator3
TargetEnvironment=Unity
-
[Desktop Entry]
Name=terminator4
TryExec=terminator4
Exec=terminator4
Type=Application
WMClass=terminator4
X-WMClass=terminator4
StartupWMClass=terminator4
X-StartupWMClass=terminator4
[NewWindow Shortcut Group]
Exec=terminator4
TargetEnvironment=Unity
答案1
您不能这样做。.desktop
以这种方式更改文件并复制它们实际上不会更改应用程序,因此所有窗口仍将分配WMClass
相同的原子。
如果您想要取消分组窗口,则需要使用其他扩展。如果您希望它们位于启动器栏(即您所说的停靠栏)上,那么您很可能需要分叉扩展并更改其中的代码以不分组窗口。还有Window list
可用的扩展,启用后将在屏幕底部显示传统任务栏。您可能想使用它。
或者,一些应用程序可能能够将--class
参数传递给可执行文件,作为改变原子的手段WMClass
,可以StartupWMClass
在文件中进行匹配.desktop
,如这个答案。