web-dev-qa-db-ja.com

Nautilus File Managerのコンテキストメニューを編集する方法

Nautilus File Managerにあるメニュー項目を変更する必要があります。私はPythonまたはその他のことで手を汚します。Nautilusのコンテキストメニューからメニュー項目を追加または削除したいです。これに関するヘルプは非常に役立ちます。

注意:

  1. この理由から、他のファイルマネージャにアクセスするつもりはありません。
  2. 私はNautilus スクリプトのどちらかについて話していません。 「スクリプト」というメニュー項目が最初に作成された方法
2
Sarthak Ganguly

メニュー項目を追加して、次のような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 -q; sleep 2; nautilusを実行してNautilusを再起動します。ファイルを右クリックすると、新しいアイテム「マイアイテム」が表示されます。

私の知る限り、メニュー項目を削除する方法は文書化されていません。

詳細については、 APIリファレンスを参照 を参照してください。

3
Florian Diesch

これは、Nautilus 3.8以降にのみ適用されます。


私はそれがそれを行う唯一の場所ではないことを知っていますが、ライブラリにコンテキストオプションを追加できます:/usr/lib/nautilus/extensions-3.0

ライブラリファイルは、.so 16進ライブラリである必要があります。

他の方法は、Nautilusのソースコードを変更することだと思います。

EDIT:これは少なくとも、GnomeがUbuntu 18.04に同梱されているものには当てはまりません。オンラインで調査すると、この機能は完全にGnomeから引き出されたようです。このRedhatのバグの説明に従って、 https://bugzilla.redhat.com/show_bug.cgi?id=885088 共有ダイアログUIは/usr/share.nautilus-share/interfacesで変更できます。

1
MrVaykadji