将 Java 应用程序放入文件管理器的上下文菜单中

Posted

技术标签:

【中文标题】将 Java 应用程序放入文件管理器的上下文菜单中【英文标题】:Put Java application into file manager's context menu 【发布时间】:2012-07-18 20:15:03 【问题描述】:

我在 Ubuntu 上使用 Eclipse IDE。我的应用程序提供加密服务,我想将其集成到客户端操作系统中。我的问题是: 有没有办法以编程方式将我的应用程序放入文件管理器的上下文菜单(右键单击选项)中,而不管人们使用的文件管理器是什么?我还想知道是否有任何方法可以在 Windows 资源管理器上执行此操作。但我的猜测是,它涉及向注册表添加值,并且很容易实现。

那么,有没有一个通用的解决方案可以在 linux 文件管理器上添加上下文菜单支持,如果我在 windows 系统中做错了也请纠正我。

如果问题不清楚,请告诉我。

【问题讨论】:

哪个特定 ui 元素的上下文菜单?桌面背景? “开始菜单?通知区?文件浏览器? (顺便说一句,我不这么认为——例如,看看 gnome-shell、kwin 和 awesome-WM 之间的区别;-)) 您能否举一个广为人知的应用程序示例,该应用程序已经实现了您想要的行为?这将有助于理解你的意思...... @amon 我指的上下文菜单是我们在文件浏览器/资源管理器中右键单击文件时得到的菜单。例如,在 ubuntu 中,当您右键单击文件时,您可以选择“Ubuntu one”应用程序来共享文件。 啊,现在我明白了。您不是指的是“窗口管理器”,而是“文件管理器”,例如 Explorer、Nautilus、Thunar、Finder、Dolphin、Konqueror、Commander 等。 C 中 Nautilus 的菜单项:taschenorakel.de/svn/repos/bulldozer/tags/release-0.1.0/… wiki.archlinux.org/index.php/… 暗示将%U 添加到Exec=` 字段中的.desktop 文件可能应该使其出现在上下文菜单中。 【参考方案1】:

如果您以 vanilla ubuntu 为目标,您可以假设文件管理器是 Gnome Nautilus。 您可以为 nautilus 编写扩展(可能在 Vala/C/python 中):

http://developer.gnome.org/libnautilus-extension/stable/

或者您可以重新使用现有的扩展,例如 nautilus-action 或 nautilus-script,它们允许您将脚本绑定到上下文菜单条目。

如果你想支持所有的文件管理器,你必须看看 dolphin(用于 KDE)、thunar(用于 xcfe),也许还有 pcmanfm...

编辑: 如果你想用 java 写你的插件,你可能想看看 Gobject Introspection。不知道还能不能用。

【讨论】:

以上是关于将 Java 应用程序放入文件管理器的上下文菜单中的主要内容,如果未能解决你的问题,请参考以下文章

仅用于文件夹的 Cocoa finder 菜单项

如何将项目添加到 UWP 应用程序的资源管理器上下文菜单

5.1 Qmenu菜单栏

将新文件类型添加到Windows 7的新上下文菜单中

仅针对特定文件类型将菜单项添加到 Windows 上下文菜单

Primefaces DataTable 的特定于列的上下文菜单