Pages : 1
#1 Le 08/06/2008, à 14:03
- PauseKawa
[Résolu] XDG_DESKTOP_DIR sous Xubuntu
Bonjour,
La modification de XDG_DESKTOP_DIR ne semble pas prise en compte sous Xubuntu.
Avez vous des information sur le sujet ?
Merci d'avance.
Dernière modification par PauseKawa (Le 06/07/2008, à 10:56)
L'informatique c'est écologique. Un exemple : Je commande sur internet le dernier calendrier Pirelli. Résultat ? J'ai économisé mes pneus, mon essence, et je n'ai pas émis de gaz si néfaste pour notre planète. Et de toute manière, le facteur serait quand même passé pour m'amener mes factures.
Hors ligne
#2 Le 09/06/2008, à 14:22
- Wapush_HL
Re : [Résolu] XDG_DESKTOP_DIR sous Xubuntu
Salut
http://bugzilla.xfce.org/show_bug.cgi?id=4062
Donc non, XDG_DESKTOP_DIR n'est pas pris en compte pour l'instant.
#3 Le 09/06/2008, à 19:56
- PauseKawa
Re : [Résolu] XDG_DESKTOP_DIR sous Xubuntu
Problématique pour la suite de la mise en 100% fr de Xubuntu...
J'avais bien noter la non prise en compte au niveau du live et de l'installation mais la c'est l'impasse.
Une idée ?
Par contre je (re)prend note > Rechercher a la source avant de poster
L'informatique c'est écologique. Un exemple : Je commande sur internet le dernier calendrier Pirelli. Résultat ? J'ai économisé mes pneus, mon essence, et je n'ai pas émis de gaz si néfaste pour notre planète. Et de toute manière, le facteur serait quand même passé pour m'amener mes factures.
Hors ligne
#4 Le 06/07/2008, à 10:56
- PauseKawa
Re : [Résolu] XDG_DESKTOP_DIR sous Xubuntu
Résolu :
Soit patcher les sources avec
diff -Naur xfdesktop-4.4.2/src/xfce-desktop.c xfdesktop-4.4.2.tpg/src/xfce-desktop.c
--- xfdesktop-4.4.2/src/xfce-desktop.c 2007-11-17 19:31:41.000000000 +0000
+++ xfdesktop-4.4.2.tpg/src/xfce-desktop.c 2008-05-05 12:07:03.000000000 +0000
@@ -150,6 +150,93 @@
return desktop->priv->system_font_size;
}
+/* Use XDG_DESKTOP_DIR */
+static char *
+lookup_desktop_dir (void)
+{
+ FILE *file;
+ char *config_file;
+ char buffer[512];
+ char *user_dir;
+ char *p, *d;
+ int len;
+ int relative;
+
+ config_file = g_build_filename (g_get_user_config_dir (), "user-dirs.dirs", NULL);
+ file = fopen (config_file, "r");
+ free (config_file);
+ if (file == NULL)
+ goto error;
+
+ user_dir = NULL;
+ while (fgets (buffer, sizeof (buffer), file))
+ {
+ /* Remove newline at end */
+ len = strlen (buffer);
+ if (len > 0 && buffer[len-1] == '\n')
+ buffer[len-1] = 0;
+
+ p = buffer;
+ while (*p == ' ' || *p == '\t')
+ p++;
+
+ if (!g_str_has_prefix (p, "XDG_DESKTOP_DIR"))
+ continue;
+ p += strlen ("XDG_DESKTOP_DIR");
+
+ while (*p == ' ' || *p == '\t')
+ p++;
+
+ if (*p != '=')
+ continue;
+ p++;
+
+ while (*p == ' ' || *p == '\t')
+ p++;
+
+ if (*p != '"')
+ continue;
+ p++;
+
+ relative = 0;
+ if (strncmp (p, "$HOME/", 6) == 0)
+ {
+ p += 6;
+ relative = 1;
+ }
+ else if (*p != '/')
+ continue;
+
+ if (relative)
+ {
+ user_dir = g_malloc (strlen (g_get_home_dir()) + 1 + strlen (p) + 1);
+ strcpy (user_dir, g_get_home_dir ());
+ strcat (user_dir, "/");
+ }
+ else
+ {
+ user_dir = g_malloc (strlen (p) + 1);
+ *user_dir = 0;
+ }
+
+ d = user_dir + strlen (user_dir);
+ while (*p && *p != '"')
+ {
+ if ((*p == '\\') && (*(p+1) != 0))
+ p++;
+ *d++ = *p++;
+ }
+ *d = 0;
+ }
+ fclose (file);
+
+ if (user_dir)
+ return user_dir;
+
+ error:
+ return g_build_filename (g_get_home_dir (), "Desktop", NULL);
+}
+
static void
xfce_desktop_setup_icon_view(XfceDesktop *desktop)
{
@@ -168,8 +255,7 @@
case XFCE_DESKTOP_ICON_STYLE_FILES:
{
ThunarVfsPath *path;
- gchar *desktop_path = xfce_get_homefile("Desktop",
- NULL);
+ gchar *desktop_path = lookup_desktop_dir ();
path = thunar_vfs_path_new(desktop_path, NULL);
if(path) {
Soit attendre la 4.6
L'informatique c'est écologique. Un exemple : Je commande sur internet le dernier calendrier Pirelli. Résultat ? J'ai économisé mes pneus, mon essence, et je n'ai pas émis de gaz si néfaste pour notre planète. Et de toute manière, le facteur serait quand même passé pour m'amener mes factures.
Hors ligne
Pages : 1