aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJuhani Krekelä2021-07-24 19:15:11 +0300
committerWolfgang Müller2021-07-24 18:55:06 +0200
commitadc794f2533fa3c56d30d6906a9c4b328baeb632 (patch)
tree9f1f8ee2b7a0d3831a1b9b0b99aab1cffdbb6803
parent4295134455ea99ad14a0eb43ed31e03fbeebb623 (diff)
downloadweltschmerz-adc794f2533fa3c56d30d6906a9c4b328baeb632.tar.gz
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.
Diffstat (limited to '')
-rw-r--r--terminal.vala17
1 files 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);
@@ -371,6 +366,14 @@ class Terminal : Gtk.Overlay {
}
[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();
if (cwd == null)