如何向特定 MIME 类型添加自定义上下文菜单操作 Ubuntu 21.10

如何向特定 MIME 类型添加自定义上下文菜单操作 Ubuntu 21.10

我正在为我的程序制作一个安装程序,并且我需要向特定的 mime 类型添加一个自定义上下文菜单操作**仅**。

答案1

奇怪的是,你还没有找到这个基本问题的答案,尽管我猜想在此期间你自己已经找到了答案。我将根据我目前对 Kubuntu 和 Dolphin 的设置提供答案,但你可以将它们推断到 Gnome/鹦鹉螺, Xfce/图纳尔等等。这涉及使用.desktop位于不同文件夹中的文件,具体取决于文件管理器,但在所有情况下,特定的 mime 类型由以 开头的行决定MimeType=

首先,您必须知道正确的 MIME 类型。要获取任何文件的 MIME 类型,为什么不创建上下文菜单呢?

通用的 MIME 类型设置,可为您提供菜单操作任何文件应采用以下形式

MimeType=application/octet-stream;

显示所选文件的 MIME 类型的命令本身可能类似于

file --mime-type -b "%u"

例如,在 Kubuntu 中,我有~/.local/share/kservices5/ServiceMenus/CheckMimeType.desktop以下格式的文件

[Desktop Action FileMimeType]
Exec=bash -c 'type=$(file --mime-type -b "%u"); kdialog --title "Checking Mimetype" --msgbox "MimeType: $type";';
Icon=preferences-desktop-filetype-association
Name=Check MimeType

[Desktop Entry]
Actions=FileMimeType
Icon=auto-type
MimeType=application/octet-stream;
ServiceTypes=KonqPopupMenu/Plugin
Type=Service

(但那是针对 KDE 的,在带有 Nautilus 的 Gnome 中,文件不同并且位于不同的位置。由于您没有提供有关所用程序的更多详细信息,无论如何,我只能将您引导至 askubuntu 上已有的答案,我添加了上面的链接。如果您添加更多详细信息,这个问题可能会显示为这些问题的重复。)

以同样的方式,您可以将命令应用于特定的 MIME 类型。

相关内容