From 45d7ea1b634d8d1ada97e35c06f7598a6f4571c6 Mon Sep 17 00:00:00 2001 From: Itamar Date: Sun, 15 Mar 2020 19:28:16 +0200 Subject: [PATCH] FileManager: Add "Open Terminal here" action --- Applications/FileManager/main.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Applications/FileManager/main.cpp b/Applications/FileManager/main.cpp index b3c2407972..d3da9b9f25 100644 --- a/Applications/FileManager/main.cpp +++ b/Applications/FileManager/main.cpp @@ -187,6 +187,15 @@ int main(int argc, char** argv) } }); + auto open_terminal_action = GUI::Action::create("Open Terminal here...", Gfx::Bitmap::load_from_file("/res/icons/16x16/app-terminal.png"), [&](const GUI::Action&) { + if (!fork()) { + int rc = execl("/bin/Terminal", "Terminal", "-d", directory_view.path().characters(), nullptr); + if (rc < 0) + perror("execl"); + exit(1); + } + }); + RefPtr view_as_table_action; RefPtr view_as_icons_action; RefPtr view_as_columns_action; @@ -553,6 +562,7 @@ int main(int argc, char** argv) file_context_menu->add_action(properties_action); directory_view_context_menu->add_action(mkdir_action); + directory_view_context_menu->add_action(open_terminal_action); tree_view_directory_context_menu->add_action(copy_action); tree_view_directory_context_menu->add_action(paste_action);