Skip to content

Commit e6195d4

Browse files
committed
FIXED: #129 KEY_BACKSPACE KEY_HOME and vim-mode H & J, opens directories as files when multiple selections are active
1 parent a600e93 commit e6195d4

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

TUIFIManager/__init__.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,10 @@ def open(self, directory, suffixes=[], _with=None):
465465
return self.files
466466

467467

468+
def navigate(self, *args):
469+
self.__count_selected = 0
470+
self.open(*args)
471+
468472

469473
def get_tuifile_by_name(self, name):
470474
return next((f for f in self.files if f.name == name), None)
@@ -763,13 +767,13 @@ def __set_normal_events(self):
763767
unicurses.CTRL('O') : self.__open_DEFAULT_WITH , # https://stackoverflow.com/a/33966657/11465149
764768
unicurses.CTRL('E') : self.exit_to_self_directory ,
765769
unicurses.CTRL('P') : self.view_clicked_file_properties ,
766-
unicurses.KEY_HOME : partial(self.open, HOME_DIR) ,
770+
unicurses.KEY_HOME : partial(self.navigate, HOME_DIR) ,
767771
unicurses.KEY_ENTER : self.__perform_key_enter ,
768772
10 : self.__perform_key_enter ,
769-
unicurses.KEY_BACKSPACE : self.__open_previous_dir ,
770-
8 : self.__open_previous_dir , # https://superuser.com/questions/212874/why-is-backspace-often-represented-with-h | TODO: I might remove it
771-
127 : self.__open_previous_dir ,
772-
263 : self.__open_previous_dir ,
773+
unicurses.KEY_BACKSPACE : self.__navigate_to_previous_dir ,
774+
8 : self.__navigate_to_previous_dir , # https://superuser.com/questions/212874/why-is-backspace-often-represented-with-h | TODO: I might remove it
775+
127 : self.__navigate_to_previous_dir ,
776+
263 : self.__navigate_to_previous_dir ,
773777
unicurses.KEY_RESIZE : self.__handle_resize_event ,
774778
32 : self.command , # SPACEBAR
775779
27 : self.__handle_garbage , #NOTE: https://stackoverflow.com/a/14829479/11465149
@@ -794,9 +798,9 @@ def toggle_vim_mode(self): # TODO: Use it in rename and find or something
794798
unicurses.CCHAR('o') : self.descend_order_switch ,
795799
unicurses.CCHAR('O') : self.ascend_order_switch ,
796800
unicurses.CCHAR('K') : self.__perform_key_enter ,
797-
unicurses.CCHAR('J') : self.__open_previous_dir ,
798-
unicurses.CCHAR('b') : self.__open_previous_dir ,
799-
unicurses.CCHAR('H') : partial(self.open , HOME_DIR),
801+
unicurses.CCHAR('J') : self.__navigate_to_previous_dir ,
802+
unicurses.CCHAR('b') : self.__navigate_to_previous_dir ,
803+
unicurses.CCHAR('H') : partial(self.navigate , HOME_DIR),
800804
unicurses.CCHAR('w') : partial(self.create_new, 'file' ),
801805
unicurses.CCHAR('W') : partial(self.create_new, 'folder'),
802806
unicurses.CCHAR('i') : self.find ,
@@ -1579,8 +1583,8 @@ def __return(self):
15791583
return True
15801584

15811585

1582-
def __open_previous_dir(self):
1583-
self.open(self.directory + sep + '..')
1586+
def __navigate_to_previous_dir(self):
1587+
self.navigate(self.directory + sep + '..')
15841588

15851589

15861590
def __open_DEFAULT_WITH(self): # opens folder

0 commit comments

Comments
 (0)