g_object_get (settings, "text-editor", &text_editor, NULL);
if (text_editor && *text_editor)
- sokoke_spawn_program (text_editor, TRUE, element->fullpath, TRUE);
+ sokoke_spawn_program (text_editor, FALSE, element->fullpath, TRUE);
else
{
gchar* element_uri = g_filename_to_uri (element->fullpath, NULL, NULL);
}
else
{
- sokoke_spawn_program (text_editor, TRUE, filename, TRUE);
+ sokoke_spawn_program (text_editor, FALSE, filename, TRUE);
g_free (filename);
}
g_free (text_editor);
gchar* real_command;
gchar* command_ready;
- /* .desktop files accept %u as URI, we cheap and treat it like %s */
- if ((uri_format = strstr (command, "%u")))
- uri_format[1] = 's';
-
real_command = quote_command ? g_shell_quote (command) : g_strdup (command);
- if (strstr (command, "%s"))
+ /* .desktop files accept %u, %U, %f, %F as URI/ filename, we treat it like %s */
+ if ((uri_format = strstr (real_command, "%u"))
+ || (uri_format = strstr (real_command, "%U"))
+ || (uri_format = strstr (real_command, "%f"))
+ || (uri_format = strstr (real_command, "%F")))
+ uri_format[1] = 's';
+
+ if (strstr (real_command, "%s"))
{
- gchar* argument_quoted = g_shell_quote (argument);
- command_ready = sokoke_replace_variables (real_command, "%s", argument_quoted);
+ gchar* argument_quoted = quote_argument ? g_shell_quote (argument) : g_strdup (argument);
+ command_ready = g_strdup_printf (real_command, argument_quoted);
g_free (argument_quoted);
}
else if (quote_argument)