From fa2f608ed2207f6f6025fb198ee365c6933b1394 Mon Sep 17 00:00:00 2001 From: Jonas Kattendick Date: Sat, 24 Sep 2022 23:33:11 +0200 Subject: [PATCH] fix: return no menu item when file is not a dir --- kitty-nautilus.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kitty-nautilus.py b/kitty-nautilus.py index 81283b9..90b658f 100644 --- a/kitty-nautilus.py +++ b/kitty-nautilus.py @@ -1,3 +1,4 @@ +import os import subprocess from gi.repository import Nautilus, GObject @@ -7,23 +8,25 @@ class KittyNautilusExtension(GObject.GObject, Nautilus.MenuProvider): def __init__(self): pass - def launch_kitty(self, menu: Nautilus.MenuItem, file): - path = file.get_location().get_path() + def launch_kitty(self, menu: Nautilus.MenuItem, path): 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( name=name, label="Open in Kitty", tip="Open current folder in Kitty", icon="terminal", ) - item.connect("activate", self.launch_kitty, file) + item.connect("activate", self.launch_kitty, path) return item def get_file_items(self, _window, files) -> [Nautilus.MenuItem]: 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]: - return [self.make_item("NautilusBackgroundOpenKitty", file)] + path = file.get_location().get_path() + return [self.make_item("NautilusBackgroundOpenKitty", path)]