1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-16 21:35:24 +00:00

Merge pull request #1801 from alexandre1985/editor-with-arguments

Editor executable support flags
This commit is contained in:
Michael Vetter 2023-03-31 16:01:22 +02:00 committed by GitHub
commit f2c83fa8ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -2523,6 +2523,7 @@ static const struct cmd_t command_defs[] = {
"/executable urlopen default",
"/executable urlsave set <cmdtemplate>",
"/executable urlsave default",
"/executable editor set <cmdtemplate>",
"/executable vcard_photo set <cmdtemplate>",
"/executable vcard_photo default")
CMD_DESC(
@ -2545,7 +2546,7 @@ static const struct cmd_t command_defs[] = {
"/executable urlsave set \"curl %u -o %p\"",
"/executable urlsave default",
"/executable vcard_photo set \"feh %p\"",
"/executable editor set vim")
"/executable editor set \"emacsclient -t\"")
},
{ CMD_PREAMBLE("/url",

View File

@ -88,11 +88,16 @@ get_message_from_editor(gchar* message, gchar** returned_message)
}
char* editor = prefs_get_string(PREF_COMPOSE_EDITOR);
gchar* editor_with_filename = g_strdup_printf("%s %s", editor, filename);
gchar** editor_argv = g_strsplit(editor_with_filename, " ", 0);
g_free(editor_with_filename);
// Fork / exec
pid_t pid = fork();
if (pid == 0) {
int x = execlp(editor, editor, filename, (char*)NULL);
int x = execvp(editor_argv[0], editor_argv);
g_strfreev(editor_argv);
if (x == -1) {
log_error("[Editor] Failed to exec %s", editor);
}