Kopiąc dalej (i badając dużo), wymyśliłem to:
Informacje o miniaturach obrazów: Wygląda na to, że Nautilus używa libgnome-desktop
do zarządzania miniaturami, a ten ostatni używa libgdk-pixbuf
do obsługi typów plików, które nie mają zewnętrznego modułu obsługi /usr/share/thumbnailers
. Tak więc „podstawowe” typy obrazów są ostatecznie obsługiwane przez GnomeDesktopThumbnailFactory i GdkPixbuf (odniesienia pokazane dla wersji dostarczanych w Ubuntu 12.04). Obsługiwane formaty można sprawdzić za pomocą tego gdk-pixbuf-query-loaders
narzędzia. W moim systemie oznacza to:
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']
Więc te są „wewnętrzne” thumbnailers. I zawiera xpm
pliki. Więc coś było nie tak z moimi konkretnymi plikami.
I rzeczywiście pliki nie były standardowe, przed /* XPM *
nagłówkiem miały notatkę o prawach autorskich :
// This file is part of BOINC.
// http://boinc.berkeley.edu
//
/* XPM */
static const char *atiicon_xpm[] = {
Po usunięciu komentarzy miniatury były generowane tylko plik.
Ciekawe, że nawet przy „nieprawidłowym” nagłówku domyślna przeglądarka obrazów w Gnome („Eye of The Gnome” lub eog
) była w stanie wyświetlać pliki! Więc albo pliki nie są w rzeczywistości nieprawidłowe, albo podziękowania eog
za możliwość ich otwarcia! W każdym razie, ponieważ jest możliwe, aby otworzyć i eog
zastosowania gdk-pixbuf
zbyt, mam wypełniony błąd wlibgnome-desktop
żądając thumbnailers być generowane dla takich niestandardowych xpm
plików. Dziękujemy za pomoc w promowaniu błędu!
Kilka uwag na temat moich badań:
ThumbnailerSpec jest wymieniany w kilku miejscach jako specyfikacja „zewnętrznych miniatur”. Ale to nie ma z tym nic wspólnego! Mówi o używaniu D-Bus do zarządzania miniaturami i nic nie wskazuje, że taka specyfikacja jest faktycznie zaimplementowana w Gnome.
W rzeczywistości nie udało mi się znaleźć żadnej oficjalnej specyfikacji dotyczącej zaimplementowanego zachowania „zapisywania .thumbnailer
pliku w [Thumbnailer Entry]
formacie i .desktop-esque do /usr/share/thumbnailers
” . Błąd 636819 jest często cytowany jako źródło, ale opisuje tylko, że zachowanie zostało zmienione w przejściu Gnome2-> Gnome3 i nie jest już używane gconf
do przechowywania zewnętrznych miniatur.
Wygląda na to, że w ogóle nie ma specyfikacji. Ta przestarzała dokumentacja jest wciąż jedynym oficjalnym odniesieniem, na przykład, co %i %o %u %s
oznacza.
Jedynym „oficjalnym” miejscem ogłaszającym zmianę z gconf
na /usr/share/thumbnailers
, poza polowaniem na kod źródłowy, który to zrobił, jest ten pozornie zwykły raport o błędzie .