Miniaturas (visualizações do Nautilus) para arquivos de imagem “básicos” (xpm, png, bmp, gif)

8

O Nautilus não estava gerando miniaturas para alguns arquivos xpm que eu tinha, então eu tentei investigar quem foi responsável por gerar miniaturas para arquivos xpm (se houver), ou qualquer imagem para esse assunto. E eu tropecei em uma parede de desinformação, especificações obsoletas e buscas frustradas.

Então, onde é o thumbnailer para tais imagens "básicas" definidas? Eu verifiquei o /usr/share/thumbnailers e ele apenas menciona arquivos pdf, exe e de vídeo. Nenhuma menção de png, jpg bmp, etc. Onde as miniaturas das imagens são definidas? Wat são as referências oficiais sobre isso?

    
por MestreLion 29.04.2013 / 04:16

1 resposta

13

Descobrindo mais (e pesquisando muito), eu descobri:

Sobre miniaturizadores de imagens: parece que o Nautilus usa libgnome-desktop para o gerenciamento de miniaturas, e o último usa libgdk-pixbuf para manipular tipos de arquivos que não possuem manipulador externo em /usr/share/thumbnailers . Assim, os tipos de imagem "básicos" são tratados por GnomeDesktopThumbnailFactory e GdkPixbuf (referências mostradas para versões enviadas no Ubuntu 12.04). E os formatos que ele manipula podem ser inspecionados usando a ferramenta gdk-pixbuf-query-loaders . 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']

Então estes são os thumbnailers "internos". E isso inclui xpm arquivos. Então, algo estava errado com meus arquivos particulares.

E, de fato, os arquivos não eram padrão, eles tinham uma nota de direitos autorais antes do cabeçalho /* XPM * :

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

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

Uma vez que os comentários foram removidos, as miniaturas foram geradas apenas no arquivo.

É curioso que, mesmo com o cabeçalho "inválido", o Image Viewer padrão no Gnome ("Eye of The Gnome", ou eog ) foi capaz de exibir os arquivos! Portanto, ou os arquivos não são realmente inválidos ou os parabéns para eog para poder abri-los! De qualquer forma, já que é possível abrir, e eog usa gdk-pixbuf também, eu tenho preencheu um bug em libgnome-desktop solicitando que os thumbnailers fossem gerados para esses arquivos xpm não-padrão. Qualquer ajuda que promova o bug é apreciada!

Além disso, algumas notas sobre minha pesquisa:

ThumbnailerSpec é mencionado em vários lugares como a especificação para "thumbnailers externos". Mas não tem nada a ver com isso! Ele fala sobre o uso do D-Bus para gerenciamento de thumbnailers, e nada indica que tal especificação seja realmente implementada no Gnome.

Na verdade, não consegui encontrar nenhuma especificação oficial sobre o comportamento implementado de "salvar um arquivo .thumbnailer com formato [Thumbnailer Entry] e .desktop-esque em /usr/share/thumbnailers " . O bug 636819 é muito citado como fonte, mas descreve apenas que o comportamento foi alterado no Gnome2 - Transição do > Gnome3 e não usa mais gconf para armazenar miniaturizadores externos.

Parece que não há nenhuma especificação . Esta documentação obsoleta ainda é a única referência , por exemplo, em 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 confirmação de código-fonte que o fez, é este relatório de bug aparentemente comum .

    
por MestreLion 30.04.2013 / 00:34