1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
from gi.repository import Nautilus, GObject
from typing import List
class TestExtension(GObject.GObject, Nautilus.MenuProvider):
def __init__(self):
super().__init__()
print("Initialized test extension")
def menu_activate_cb(
self,
menu: Nautilus.MenuItem,
file: Nautilus.FileInfo,
) -> None:
print("menu_activate_cb", file)
def get_file_items(
self,
files: List[Nautilus.FileInfo],
) -> List[Nautilus.MenuItem]:
if len(files) != 1:
return []
file = files[0]
item = Nautilus.MenuItem(
name="SimpleMenuExtension::Show_File_Name",
label="Showing %s" % file.get_name(),
)
item.connect("activate", self.menu_activate_cb, file)
return [
item,
]
# Even though we're not using background items, Nautilus will generate
# a warning if the method isn't present
def get_background_items(
self,
current_folder: Nautilus.FileInfo,
) -> List[Nautilus.MenuItem]:
return []
|