Bagaimana cara mengedit menu konteks dari Nautilus File Manager?

2

Saya perlu mengubah item menu yang ada di Nautilus File Manager. Saya terbuka untuk mendapatkan tangan saya kotor dengan Python atau apa pun dalam hal ini. Saya ingin menambah atau menghapus item menu dari menu konteks di Nautilus. Setiap bantuan mengenai hal ini akan sangat membantu.

catatan:

  1. Saya tidak ingin pergi ke pengelola file lain karena alasan ini.
  2. Saya juga tidak berbicara tentang skrip Nautilus . Saya ingin tahu bagaimana item menu yang disebut 'Script' dibuat di tempat pertama.
Sarthak Ganguly
sumber

Jawaban:

3

Untuk menambahkan item menu ke dapat menulis ekstensi Nautilus, seperti

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]

Simpan ini menjadi sesuatu seperti /usr/share/nautilus-python/extensions/myitem.py, instal paket python-nautilusdan restart Nautilus, misalnya dengan menjalankan nautilus -q; sleep 2; nautilus. Sekarang Anda akan melihat item baru "Item Saya" jika Anda mengklik kanan suatu file.

Sejauh yang saya tahu tidak ada cara yang terdokumentasi untuk menghapus item menu.

The lihat API referensi untuk beberapa informasi lebih lanjut.

Florian Diesch
sumber
1

Ini hanya berlaku untuk Nautilus 3.8 dan yang lebih baru.


Aku tahu itu bukan satu-satunya tempat untuk melakukannya, tetapi Anda dapat menambahkan opsi konteks di perpustakaan: /usr/lib/nautilus/extensions-3.0.

File perpustakaan harus berupa .soperpustakaan heksadesimal.

Saya pikir cara lain untuk melakukannya adalah dengan memodifikasi kode sumber Nautilus.

EDIT: Ini tidak lagi benar setidaknya pada apa pun yang dikirimkan Gnome dengan Ubuntu 18.04. Meneliti daring sepertinya fitur ini sepenuhnya ditarik dari Gnome, sesuai diskusi bug Redhat ini: https://bugzilla.redhat.com/show_bug.cgi?id=885088 Meskipun tampaknya dialog dialog berbagi dapat diubah melalui /usr/share.nautilus-share/interfaces.

TuanVaykadji
sumber
memang ini sangat membantu untuk membersihkan menu klik kanan pada nautilus. Terima kasih! :)
Rho