如何编辑 Nautilus 文件管理器的上下文菜单?

如何编辑 Nautilus 文件管理器的上下文菜单?

我需要更改 Nautilus 文件管理器中的菜单项。我愿意尝试使用 Python 或其他任何语言。我想在 Nautilus 的上下文菜单中添加或删除菜单项。任何有关此问题的帮助都将非常有帮助。

笔记:

  1. 由于这个原因,我不想使用任何其他文件管理器。
  2. 我不是在谈论 Nautilus脚本。 我想知道首先如何创建名为“脚本”的菜单项。

答案1

要添加菜单项,可以编写 Nautilus 扩展,例如

from gi.repository import Nautilus, GObject

class MyItemExtension(GObject.GObject, Nautilus.MenuProvider):
    def get_file_items(self, window, files):
        menuitem = Nautilus.MenuItem(name='MyItem::SomeItem', 
                                     label='My Item', 
                                     tip='my own item',
                                     icon='')

        menuitem.connect('activate', self.on_menu_item_clicked, files)
        return menuitem,

    def on_menu_item_clicked(self, item, files):
        print [f.get_name() for f in files]

将其保存为类似 的内容/usr/share/nautilus-python/extensions/myitem.py,安装软件包python-nautilus并重新启动 Nautilus,例如通过运行nautilus -q; sleep 2; nautilus。现在,如果右键单击文件,您应该会看到一个新项目“我的项目”。

据我所知,没有记录下来的方法可以删除菜单项。

请参阅 API 参考了解更多信息。

答案2

这仅适用于 Nautilus 3.8 及更新版本。


我知道这不是唯一可以做到这一点的地方,但您可以在库中添加上下文选项:/usr/lib/nautilus/extensions-3.0

库文件需要是.so十六进制库。

我认为另一种方法是修改 Nautilus 的源代码。

编辑:至少从 Ubuntu 18.04 附带的 Gnome 开始,这种情况就不再存在了。根据网上的调查,这个功能似乎完全从 Gnome 中移除了,正如这个 Redhat 错误讨论中所说:https://bugzilla.redhat.com/show_bug.cgi?id=885088 尽管看起来可以通过 来更改共享对话框 UI /usr/share.nautilus-share/interfaces

相关内容