From adc794f2533fa3c56d30d6906a9c4b328baeb632 Mon Sep 17 00:00:00 2001 From: Juhani Krekelä Date: Sat, 24 Jul 2021 19:15:11 +0300 Subject: Move spawning a subprocess into its own function The upcoming "Open with …" feature will need to spawn subprocesses in very similar way as open_terminal(). Moving process creation to its own function allows the same logic to be reused. --- terminal.vala | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/terminal.vala b/terminal.vala index 13409f4..0013abd 100644 --- a/terminal.vala +++ b/terminal.vala @@ -352,16 +352,11 @@ class Terminal : Gtk.Overlay { return path; } - [GtkCallback] - void open_terminal() { - var cwd = get_local_directory_path(); - if (cwd == null) - return; - + void spawn_process(string? cwd, string[] argv) { Pid child; try { - Process.spawn_async(cwd, {PROGRAM_NAME}, Environ.get(), SpawnFlags.SEARCH_PATH, null, out child); + Process.spawn_async(cwd, argv, null, SpawnFlags.SEARCH_PATH, null, out child); } catch (Error e) { warning(e.message); infobar_show(e.message, Gtk.MessageType.ERROR); @@ -370,6 +365,14 @@ class Terminal : Gtk.Overlay { Process.close_pid(child); } + [GtkCallback] + void open_terminal() { + var cwd = get_local_directory_path(); + if (cwd == null) + return; + spawn_process(cwd, {PROGRAM_NAME}); + } + [GtkCallback] void open_directory() { var cwd = get_local_directory_path(); -- cgit v1.2.3-2-gb3c3