如何让我的应用程序接受来自 Unity Launcher 的文件夹?

hyt*_*omo 7 unity mime-type directory .desktop

拖动文件时,启动器上能够打开该文件的所有条目保持亮起,而其他条目则变淡。据我所知,这是基于每个应用程序的 .desktop 文件中指定的 Mime 类型。

我希望我的应用程序能够通过 unity launcher 接受文件夹作为参数。我已经添加了

MimeType=inode/directory;
Run Code Online (Sandbox Code Playgroud)

到我的 .desktop 文件,但无济于事。

有任何想法吗?

编辑:

这是我的完整 .desktop 文件:

[Desktop Entry]
Version=4
Name=Wallch
Comment=Change desktop wallpapers automatically
Exec=/usr/bin/wallch %U
Icon=wallch
Terminal=false
Type=Application
Categories=Utility;Application;
MimeType=inode/directory;

Actions=Start;Change_Wallpaper;

[Desktop Action Start]
Name=Start
Exec=/usr/bin/wallch --start
TargetEnvironment=Unity

[Desktop Action Change_Wallpaper]
Name=Change Wallpaper
Exec=/usr/bin/wallch --change
TargetEnvironmet=Unity
Run Code Online (Sandbox Code Playgroud)

Rad*_*anu 4

经过一些研究,我发现如果您希望启动器中的应用程序处于活动状态并在拖动文件夹时保持明亮,则需要将其 .desktop 文件命名如下:

\n\n
应用程序名称-nautilus .desktop
\n\n

或者:

\n\n
app_name -nautilus-folder-handler .desktop
\n\n

所以,就你的情况而言,它将是:

\n\n
wallch-nautilus.desktop\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不确定此限制是否是正常行为(应该如此)还是错误。如果您认为这是一个错误,您可以将其报告为错误

\n\n

话虽这么说,我创建了以下脚本,它将自动为您完成这项工作(我将其命名为wallch_on_launcher):

\n\n
app_name-nautilus.desktop
\n\n

不要忘记使脚本可执行:

\n\n
chmod +x wallch_on_launcher\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果可以在下面的屏幕截图中看到:

\n\n

wallch桌面文件

\n\n
\n\n

请注意,当前版本的 Wallch (3.01-0ubuntu2) 不知道如何处理作为参数给出的文件夹:

\n\n
$ wallch ~/Pictures \n无效选项: \'/home/radu/Pictures\'\n输入 wallch -h 或 --help 查看所有可用选项
\n\n

因此,当您将文件夹拖放到 Unity 启动器上的 Wallch 图标上时,不会发生任何事情。

\n