如何以编程方式向统一启动器添加快捷方式?

Iva*_*čin 8 unity launcher qt quicklists

我正在 Qt 中开发一个程序,该程序将帮助用户在 Unity 启动器中管理(创建、编辑和删除)他们的快速列表。

我已经到了创建 .desktop 文件的地步,但我不知道如何以编程方式将该文件放在 Unity 启动器上。

我找到了两种(不好的)方法来做到这一点:

  1. 手动将创建的 .desktop 文件拖放到 unity 启动器
  2. 使用“gsettings set com.canonical.Unity.Launcher favorites”编辑收藏夹键,并使用“unity --replace”强制统一重新加载

因此,我正在搜索在第一个“拖放”方法上调用的函数或系统命令,以便我可以在我的程序中执行它,而无需用户手动执行。

我什至不知道在哪里(或如何)搜索我的解决方案,因此任何建议都会有所帮助。

Jo-*_*tad 2

您可以使用 DbusMenu 在运行时添加动态快速列表。您可以在这里阅读更多相关信息: https: //wiki.ubuntu.com/Unity/LauncherAPI。该页面还描述了添加计数器、进度条和设置紧急程度。


小智 2

我会这样做:

  1. 将 .desktop 文件拖放到~/.local/share/applications. 这样它也会出现在应用程序部分。
  2. 使用 获取收藏夹列表gsettings get ...
  3. 使用 插入数组中桌面文件的路径gsettings set

Jo 的 dbus 想法似乎更好。:)