![与 Unity 启动器的应用程序集成](https://linux22.com/image/1117923/%E4%B8%8E%20Unity%20%E5%90%AF%E5%8A%A8%E5%99%A8%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E9%9B%86%E6%88%90.png)
我喜欢集成一个应用程序(数字碎纸机、碎纸命令界面),以便将文件从 Nautilus 拖放到启动器图标,然后打开程序并填写文件路径字段。这可能吗?我想我需要一些代码。该程序是用 Python 编写的。
答案1
Unity 内置了一些简单的拖放支持。如果应用程序可以将文件名作为命令行参数,则只需在Exec
桌面文件字段中使用变量即可。
以 Gedit 的桌面文件为例(为了便于阅读,删除了部分内容):
[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
如果您将文件放到 Unity 中的 Gedit 启动器上,则将%U
被文件的 uri 替换。
变量是桌面入门规格:
%u
- 单个 URL。本地文件可以作为文件:URL 或文件路径传递。%U
- URL 列表。每个 URL 都作为单独的参数传递给可执行程序。本地文件可以作为文件:URL 或文件路径传递。