Support desktop file key X-GIO-NoFuse which disables use of fuse pathnames

2009-02-26  Alexander Larsson  <alexl@redhat.com>

	* gdesktopappinfo.c:
	Support desktop file key X-GIO-NoFuse which disables
	use of fuse pathnames for %u and %U arguments.



svn path=/trunk/; revision=7914
This commit is contained in:
Alexander Larsson 2009-02-26 14:59:16 +00:00 committed by Alexander Larsson
parent a657a8e53c
commit fa558d00c3
2 changed files with 24 additions and 13 deletions

View File

@ -1,3 +1,9 @@
2009-02-26 Alexander Larsson <alexl@redhat.com>
* gdesktopappinfo.c:
Support desktop file key X-GIO-NoFuse which disables
use of fuse pathnames for %u and %U arguments.
2009-02-25 Alexander Larsson <alexl@redhat.com> 2009-02-25 Alexander Larsson <alexl@redhat.com>
Bug 570073 Add support for reading filesystems on Interix Bug 570073 Add support for reading filesystems on Interix

View File

@ -98,6 +98,7 @@ struct _GDesktopAppInfo
guint hidden : 1; guint hidden : 1;
guint terminal : 1; guint terminal : 1;
guint startup_notify : 1; guint startup_notify : 1;
guint no_fuse : 1;
/* FIXME: what about StartupWMClass ? */ /* FIXME: what about StartupWMClass ? */
}; };
@ -256,6 +257,7 @@ g_desktop_app_info_new_from_keyfile (GKeyFile *key_file)
info->path = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_PATH, NULL); info->path = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_PATH, NULL);
info->terminal = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_TERMINAL, NULL) != FALSE; info->terminal = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_TERMINAL, NULL) != FALSE;
info->startup_notify = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY, NULL) != FALSE; info->startup_notify = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY, NULL) != FALSE;
info->no_fuse = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-GIO-NoFuse", NULL) != FALSE;
info->hidden = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_HIDDEN, NULL) != FALSE; info->hidden = g_key_file_get_boolean (key_file, G_KEY_FILE_DESKTOP_GROUP, G_KEY_FILE_DESKTOP_KEY_HIDDEN, NULL) != FALSE;
info->icon = NULL; info->icon = NULL;
@ -573,6 +575,10 @@ expand_macro (char macro,
* running or the URI doesn't have a POSIX file path via FUSE * running or the URI doesn't have a POSIX file path via FUSE
* we'll just pass the URI. * we'll just pass the URI.
*/ */
force_file_uri_macro = macro;
force_file_uri = FALSE;
if (!info->no_fuse)
{
switch (macro) switch (macro)
{ {
case 'u': case 'u':
@ -584,10 +590,9 @@ expand_macro (char macro,
force_file_uri = TRUE; force_file_uri = TRUE;
break; break;
default: default:
force_file_uri_macro = macro;
force_file_uri = FALSE;
break; break;
} }
}
switch (macro) switch (macro)
{ {