Indo além (e pesquisando MUITO), eu descobri:
Sobre miniaturas de imagens: parece que o Nautilus usa libgnome-desktop
para gerenciamento de miniaturas, e o último usa libgdk-pixbuf
para manipular tipos de arquivos que não possuem manipulador externo /usr/share/thumbnailers
. Portanto, os tipos de imagem "básicos" são gerenciados por GnomeDesktopThumbnailFactory e GdkPixbuf (referências mostradas para versões fornecidas no Ubuntu 12.04). E os formatos que ele manipula podem ser inspecionados usando a gdk-pixbuf-query-loaders
ferramenta. No meu sistema, isso significa:
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']
Portanto, esses são os miniaturizadores "internos". E inclui xpm
arquivos. Então, algo estava errado com meus arquivos específicos.
E, de fato, os arquivos não eram padrão, eles tinham uma nota de direitos autorais antes do /* XPM *
cabeçalho:
// This file is part of BOINC.
// http://boinc.berkeley.edu
//
/* XPM */
static const char *atiicon_xpm[] = {
Depois que os comentários foram removidos, as miniaturas foram geradas apenas como arquivo.
É curioso que, mesmo com o cabeçalho "inválido", o Image Viewer padrão no Gnome ("Eye of The Gnome", ou eog
) tenha sido capaz de exibir os arquivos! Portanto, os arquivos não são realmente inválidos ou parabéns eog
por poder abri-los! De qualquer forma, como é possível abrir e eog
usa gdk-pixbuf
também, preenchi um erro aolibgnome-desktop
solicitar que sejam gerados miniaturizadores para esses xpm
arquivos não padrão . Qualquer ajuda para promover o bug é apreciada!
Além disso, algumas notas sobre minha pesquisa:
ThumbnailerSpec é mencionado em vários lugares como a especificação para "miniaturizadores externos". Mas não tem nada a ver com isso! Ele fala sobre o uso do D-Bus para gerenciamento de miniaturas, e nada indica que essa especificação seja realmente implementada no Gnome.
Na verdade, não consegui encontrar nenhuma especificação oficial sobre o comportamento implementado de "salvar um .thumbnailer
arquivo com o [Thumbnailer Entry]
formato .desktop-esque em /usr/share/thumbnailers
" . O bug 636819 é muito citado como fonte, mas apenas descreve que o comportamento foi alterado na transição do Gnome2-> Gnome3, e não é mais usado gconf
para armazenar miniaturas externas.
Parece que não há especificações. Essa documentação obsoleta ainda é a única referência oficial, por exemplo, sobre o que %i %o %u %s
significa.
E o único lugar "oficial" anunciando a mudança de gconf
para /usr/share/thumbnailers
, além de procurar o commit do código-fonte que fez isso, é este aparentemente comum relatório de erro .