Nautilus ne générait pas de vignettes pour certains fichiers xpm
que j’avais. J’ai donc essayé d’enquêter who était chargé de générer des vignettes pour les fichiers xpm (le cas échéant), ou d’autres images. Et je suis tombé sur un mur de désinformation, de spécifications obsolètes et de recherches frustrées.
Donc, où est-ce que la vignette pour de telles images "de base" est définie? J'ai vérifié /usr/share/thumbnailers
et il ne mentionne que les fichiers pdf, exe et vidéo. Aucune mention de png, jpg bmp, etc. Où sont définies les vignettes d'images? Wat sont les références officielles à ce sujet?
En fouillant plus loin (et en cherchant BEAUCOUP), je l'ai compris:
À propos des imageurs: Il semble que Nautilus utilise libgnome-desktop
pour la gestion des vignettes, et ce dernier utilise libgdk-pixbuf
pour gérer les types de fichiers n’ayant pas de gestionnaire externe dans /usr/share/thumbnailers
. Ainsi, les types d'images "de base" sont finalement gérés par GnomeDesktopThumbnailFactory et GdkPixbuf (références affichées pour les versions livrées dans Ubuntu 12.04). Et les formats qu'il gère peuvent être inspectés à l'aide de l'outil gdk-pixbuf-query-loaders
. Dans mon système, cela signifie:
The GdkPixdata format
['gdkp']
['image/x-gdkpixdata']
The Sun raster image format
['ras']
['image/x-cmu-raster', 'image/x-Sun-raster']
The PNG image format
['png']
['image/png']
The WBMP image format
['wbmp']
['image/vnd.wap.wbmp']
The JPEG image format
['jpeg', 'jpe', 'jpg']
['image/jpeg']
The ANI image format
['ani']
['application/x-navi-animation']
The TIFF image format
['tiff', 'tif']
['image/tiff']
The XBM image format
['xbm']
['image/x-xbitmap']
The PCX image format
['pcx']
['image/x-pcx']
The Targa image format
['tga', 'targa']
['image/x-tga']
The PNM/PBM/PGM/PPM image format family
['pnm', 'pbm', 'pgm', 'ppm']
['image/x-portable-anymap', 'image/x-portable-bitmap',
'image/x-portable-graymap', 'image/x-portable-pixmap']
The JPEG 2000 image format
['jp2', 'jpc', 'jpx', 'j2k', 'jpf']
['image/jp2', 'image/jpeg2000', 'image/jpx']
The ICNS image format
['icns']
['image/x-icns']
The BMP image format
['bmp']
['image/bmp', 'image/x-bmp', 'image/x-MS-bmp']
Windows Metafile
['wmf', 'apm']
['image/x-wmf']
The QTIF image format
['qtif', 'qif']
['image/x-quicktime', 'image/qtif']
Scalable Vector Graphics
['svg', 'svgz', 'svg.gz']
['image/svg+xml', 'image/svg', 'image/svg-xml', 'image/vnd.Adobe.svg+xml',
'text/xml-svg', 'image/svg+xml-compressed']
The ICO image format
['ico', 'cur']
['image/x-icon', 'image/x-ico', 'image/x-win-bitmap']
The XPM image format
['xpm']
['image/x-xpixmap']
The GIF image format
['gif']
['image/gif']
Donc ceux-ci sont les vignettes "internes". Et cela inclut les fichiers xpm
. Donc, quelque chose n'allait pas avec mes fichiers particuliers à la place.
Et en effet, les fichiers n'étaient pas standard, ils avaient une note de copyright avant l'en-tête /* XPM *
:
// This file is part of BOINC.
// http://boinc.berkeley.edu
//
/* XPM */
static const char *atiicon_xpm[] = {
Une fois les commentaires supprimés, les vignettes étaient générées simplement dans un fichier.
Il est curieux que, même avec l'en-tête "non valide", la Visionneuse d'images par défaut dans Gnome ("Eye of the Gnome" ou eog
) ait pu afficher les fichiers! Donc, soit les fichiers ne sont pas réellement invalides, soit les félicitations de eog
pour pouvoir les ouvrir! Quoi qu'il en soit, étant donné que est possible d'ouvrir et que eog
utilise gdk-pixbuf
aussi, j'ai rempli un bogue dans libgnome-desktop
demandant que les imageurs soient générés pour ces fichiers xpm
non standard. Toute aide à la promotion du bug est appréciée!
En outre, quelques notes sur mes recherches:
ThumbnailerSpec est mentionné à plusieurs endroits en tant que spécification pour les "vignettes externes". Mais ça n'a rien à voir avec ça! Il est question d'utilisation de D-Bus pour la gestion des vignettes, et rien n'indique qu'une telle spécification est réellement implémentée dans Gnome.
En fait, j’ai été incapable de trouver toute spéc. Officielle sur le comportement mis en œuvre de "en enregistrant un fichier .thumbnailer
avec le format [Thumbnailer Entry]
et .desktop-esque au format /usr/share/thumbnailers
". Bug 636819 est souvent cité comme source, mais il décrit uniquement le comportement modifié dans la transition Gnome2-> Gnome3 et n'utilise plus gconf
pour stocker les vignettes externes.
On dirait qu'il y a no spec du tout. Cette documentation obsolète est toujours la référence seulement officielle, par exemple, sur ce que signifie %i %o %u %s
.
Et le seul endroit "officiel" annonçant le passage de gconf
à /usr/share/thumbnailers
, autre que la recherche du code source commit qui l’a fait, est ceci apparemment ordinaire rapport de bug .