- commit
- e99158b66d9655cb786b675636d16454e8857dec
- parent
- 79c9bbd234a96c0490c5445aeccfc1193b273745
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2020-09-20 10:34
allow to pass command to execute required for Terminal=true in .desktop files This does not properly support unqouted commands Example: x-terminal-emulator -e vim # does work x-terminal-emulator -e "sh -c vim" # does work x-terminal-emulator -e sh -c vim # does not work
Diffstat
| M | xiterm.c | 16 | ++++++++++++++-- |
1 files changed, 14 insertions, 2 deletions
diff --git a/xiterm.c b/xiterm.c
@@ -13,7 +13,7 @@ VteRegex *url_regex; 13 13 GdkRGBA palette[16]; 14 14 double font_scale = 1; 15 1516 -1 char *cmd[2] = {"/bin/bash", NULL};-1 16 char *cmd[4] = {"/bin/bash", NULL, NULL, NULL}; 17 17 const char *colors[16] = { 18 18 "#000", "#c00", "#591", "#b71", "#16c", "#96a", "#299", "#ccc", 19 19 "#333", "#f33", "#7c0", "#ed0", "#6ad", "#c8b", "#0dd", "#fff", @@ -179,10 +179,22 @@ gboolean on_key(GtkWidget *widget, GdkEventKey *event, gpointer user_data) { 179 179 } 180 180 181 181 int main(int argc, char **argv) {182 -1 int i;-1 182 int i, opt; 183 183 GError *err = NULL; 184 184 GtkWidget *widget; 185 185 -1 186 while ((opt = getopt(argc, argv, "e:")) != -1) { -1 187 switch (opt) { -1 188 case 'e': -1 189 cmd[0] = "/bin/sh"; -1 190 cmd[1] = "-c"; -1 191 cmd[2] = optarg; -1 192 break; -1 193 default: -1 194 exit(EXIT_FAILURE); -1 195 } -1 196 } -1 197 186 198 url_regex = vte_regex_new_for_match(REGEX_URL, -1, PCRE2_MULTILINE, &err); 187 199 g_assert(err == NULL); 188 200