fix: return no menu item when file is not a dir
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
from gi.repository import Nautilus, GObject
|
from gi.repository import Nautilus, GObject
|
||||||
|
|
||||||
@@ -7,23 +8,25 @@ class KittyNautilusExtension(GObject.GObject, Nautilus.MenuProvider):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def launch_kitty(self, menu: Nautilus.MenuItem, file):
|
def launch_kitty(self, menu: Nautilus.MenuItem, path):
|
||||||
path = file.get_location().get_path()
|
|
||||||
subprocess.Popen(["kitty", "--working-directory", path], shell=False)
|
subprocess.Popen(["kitty", "--working-directory", path], shell=False)
|
||||||
|
|
||||||
def make_item(self, name, file) -> Nautilus.MenuItem:
|
def make_item(self, name, path) -> Nautilus.MenuItem:
|
||||||
item = Nautilus.MenuItem(
|
item = Nautilus.MenuItem(
|
||||||
name=name,
|
name=name,
|
||||||
label="Open in Kitty",
|
label="Open in Kitty",
|
||||||
tip="Open current folder in Kitty",
|
tip="Open current folder in Kitty",
|
||||||
icon="terminal",
|
icon="terminal",
|
||||||
)
|
)
|
||||||
item.connect("activate", self.launch_kitty, file)
|
item.connect("activate", self.launch_kitty, path)
|
||||||
return item
|
return item
|
||||||
|
|
||||||
def get_file_items(self, _window, files) -> [Nautilus.MenuItem]:
|
def get_file_items(self, _window, files) -> [Nautilus.MenuItem]:
|
||||||
if len(files) == 1:
|
if len(files) == 1:
|
||||||
return [self.make_item("NautilusFileOpenKitty", files[0])]
|
path = files[0].get_location().get_path()
|
||||||
|
if os.path.isdir(path):
|
||||||
|
return [self.make_item("NautilusFileOpenKitty", path)]
|
||||||
|
|
||||||
def get_background_items(self, _window, file) -> [Nautilus.MenuItem]:
|
def get_background_items(self, _window, file) -> [Nautilus.MenuItem]:
|
||||||
return [self.make_item("NautilusBackgroundOpenKitty", file)]
|
path = file.get_location().get_path()
|
||||||
|
return [self.make_item("NautilusBackgroundOpenKitty", path)]
|
||||||
|
|||||||
Reference in New Issue
Block a user