我正在尝试使用低级 dbus 消息传递将我的 JS 代码与 unity 集成。我能够为已知的 .desktop 文件(例如“gnome-terminal.desktop”)设置启动器图标属性(进度、计数、菜单等)。此外,我可以创建自己的 .desktop 文件,但只有当我将其从 /usr/share/applications 拖放到启动器上时,它才会在启动器中可见。如果我单击 .desktop 文件,新窗口会导致在与该 .desktop 文件不关联的启动器上打开新条目。我想我漏掉了一些步骤,我告诉一些服务(注册商?)我创建的窗口是我的 .desktop 的一部分
通过单击桌面图标启动脚本(启动器菜单中没有 .desktop 图标,“未知图标”新窗口的窗口图标:
将 .desktop 文件拖放到启动器。现在有两个图标,第一个图标上可以看到 LauncherEntry 进度更新的结果。
所以问题是“我如何告诉 Unity 我的窗口属于该 .desktop 文件”
我的脚本和.desktop 文件:https://gist.github.com/sidorares/8d0587e384176f1be83d(我在用着节点-x11,节点总线和节点 dbusmenu)
答案1
通过查看找到答案bamf 源- 您需要将_NET_WM_DESKTOP_FILE
属性设置为桌面文件的完整路径。