Merge pull request #107310 from timothyqiu/terminal-args
Fix not being able to open directory in certain terminals
This commit is contained in:
commit
199d41b967
@ -2271,6 +2271,8 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected
|
||||
#endif
|
||||
|
||||
List<String> terminal_emulator_args; // Required for `execute()`, as it doesn't accept `Vector<String>`.
|
||||
bool append_default_args = true;
|
||||
|
||||
#ifdef LINUXBSD_ENABLED
|
||||
// Prepend default arguments based on the terminal emulator name.
|
||||
// Use `String.ends_with()` so that installations in non-default paths
|
||||
@ -2284,12 +2286,21 @@ void FileSystemDock::_file_option(int p_option, const Vector<String> &p_selected
|
||||
terminal_emulator_args.push_back("-cd");
|
||||
} else if (chosen_terminal_emulator.ends_with("xfce4-terminal")) {
|
||||
terminal_emulator_args.push_back("--working-directory");
|
||||
} else if (chosen_terminal_emulator.ends_with("lxterminal")) {
|
||||
terminal_emulator_args.push_back("--working-directory={directory}");
|
||||
append_default_args = false;
|
||||
} else if (chosen_terminal_emulator.ends_with("kitty")) {
|
||||
terminal_emulator_args.push_back("--directory");
|
||||
} else if (chosen_terminal_emulator.ends_with("alacritty")) {
|
||||
terminal_emulator_args.push_back("--working-directory");
|
||||
} else if (chosen_terminal_emulator.ends_with("xterm")) {
|
||||
terminal_emulator_args.push_back("-e");
|
||||
terminal_emulator_args.push_back("cd '{directory}' && exec $SHELL");
|
||||
append_default_args = false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool append_default_args = true;
|
||||
|
||||
#ifdef WINDOWS_ENABLED
|
||||
// Prepend default arguments based on the terminal emulator name.
|
||||
// Use `String.get_basename().to_lower()` to handle Windows' case-insensitive paths
|
||||
|
Loading…
x
Reference in New Issue
Block a user