Vignettes (aperçus Nautilus) pour les fichiers d'image «de base» (xpm, png, bmp, gif)

8

Nautilus ne générait pas de vignettes pour certains xpmfichiers que j'avais, alors j'ai essayé de déterminer qui était responsable de la génération des vignettes pour les fichiers xpm (le cas échéant), ou toute image d'ailleurs. Et je suis tombé sur un mur de désinformation, de spécifications obsolètes et de recherches frustrées.

Alors, est définie la vignette pour ces images "basiques"? J'ai vérifié /usr/share/thumbnailerset il ne mentionne que les fichiers pdf, exe et vidéo. Aucune mention de png, jpg bmp, etc. Où sont définies les vignettes des images? Quelles sont les références officielles à ce sujet?

MestreLion
la source
Il est étrange, leur montre sûr que mes. Pouvez-vous ajouter une capture d'écran? et quelle version de Nautilus utilisez-vous?, avez-vous essayé avec les paramètres de Nautilus? (Édition> Préférences> Aperçu)?.
Uri Herrera

Réponses:

13

En creusant plus loin (et en recherchant beaucoup), je l'ai compris:

À propos des vignettes d'images: Il semble que Nautilus utilise libgnome-desktoppour la gestion des vignettes, et ce dernier utilise libgdk-pixbufpour gérer les types de fichiers qui n'ont pas de gestionnaire externe /usr/share/thumbnailers. Ainsi, les types d'images "de base" sont finalement gérés par GnomeDesktopThumbnailFactory et GdkPixbuf (références indiqué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' gdk-pixbuf-query-loadersoutil. 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 , ce sont les thumbnailers « internes ». Et cela inclut des xpmfichiers. Donc, quelque chose n'allait pas avec mes fichiers particuliers.

Et en effet, les fichiers n'étaient pas standard, ils avaient une note de copyright avant l'en- /* XPM *tête:

// This file is part of BOINC.
// http://boinc.berkeley.edu
//

/* XPM */
static const char *atiicon_xpm[] = {

Une fois les commentaires supprimés, les miniatures ont été générées uniquement en fichier.

Il est curieux que, même avec l'en-tête "invalide", la visionneuse d'images par défaut dans Gnome ("Eye of The Gnome", ou eog) ait pu afficher les fichiers! Donc, les fichiers ne sont pas réellement invalides, ou bravo à eogpour pouvoir les ouvrir! Quoi qu'il en soit, puisqu'il est possible d'ouvrir, et eogutilise gdk-pixbufaussi, j'ai rempli un bogue enlibgnome-desktop demandant que des vignettes soient générées pour ces xpmfichiers non standard . Toute aide à la promotion du bug est appréciée!

Aussi, quelques notes sur mes recherches:

ThumbnailerSpec est mentionné à plusieurs endroits comme spécification pour les "vignettes externes". Mais cela n'a rien à voir avec ça! Il parle de l'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, je n'ai pas pu trouver de spécification officielle sur le comportement mis en œuvre de "l'enregistrement d'un .thumbnailerfichier avec [Thumbnailer Entry]et au format .desktop-esque /usr/share/thumbnailers" . Le bogue 636819 est souvent cité comme source, mais il décrit uniquement que le comportement a été modifié dans la transition Gnome2-> Gnome3, et qu'il n'utilise plus gconfpour stocker des vignettes externes.

Il semble qu'il n'y ait aucune spécification. Cette documentation obsolète reste la seule référence officielle, par exemple, sur ce que %i %o %u %ssignifie.

Et le seul endroit "officiel" annonçant le changement de gconfà /usr/share/thumbnailers, autre que la recherche du commit du code source qui l'a fait, est ce rapport de bogue apparemment ordinaire .

MestreLion
la source
2
J'aimerais pouvoir voter davantage pour votre analyse approfondie et votre suivi! J'en référerai probablement d'autres à l'avenir comme une auto-réponse exemplaire.
ændrük
Merci @ ændrük! J'ai passé environ 12 heures à enquêter sur cela et à rassembler toutes les informations pertinentes dispersées sur le Web. Cette réponse était censée être une note de moi-même de mes conclusions, et je suis heureux si cela peut épargner aux autres de perdre du temps sur ce sujet comme je l'ai fait. Les votes positifs sont appréciés, merci.
MestreLion