Gnome Nautilus i miniaturki (Cz. 1 z 3)

Ostat­nimi czasy trochę siedzia­łem nad rozpra­co­wy­wa­niem w jaki sposób Nauti­lus tworzy minia­turki różnych rodza­jów plików. Zatem z przy­jem­no­ścią podzielę się z Wami swoimi obser­wa­cjami. Wpraw­dzie kiedyś już pisa­łem co nieco o minia­tur­kach, ale trochę pod innym kątem (głów­nie dlaczego nie są gene­ro­wane). Dzisiaj będzie część 1 z 3 częścio­wego cyklu. Prawdę mówiąc, to nie wiem ile tych części osta­tecz­nie będzie :-)

Może zacznę od zrzutu ekranu kilku przy­kła­do­wych miniaturek.

Minia­turki (thumb­na­ils) domyśl­nie tworzone są za pomocą dwóch programów:

Evince Thumn­ba­iler — moduł prze­glą­darki doku­men­tów Evince, gene­ruje minia­turki wszel­kich plików graficz­nych począw­szy od jpg, przez png aż do PDF (pierw­szą stronę).

Totem Video Thumb­na­iler (nazy­wany również Gnome Video Thumb­na­iler) — odpo­wiada za minia­turki plików filmo­wych. Dodat­kowo dodaje „od siebie” na bocz­nych krawę­dziach obrazka otwory imitu­jące taśmę filmową. Co do miej­sca, z którego pobie­rana jest klatka filmu, to jest to bardzo dziwna sprawa. Z moich obser­wa­cji wynika, że jest to około 1/3 czasu trwa­nia filmu. Czasem zdarza się, że pobrana jest pierw­sza klatka (jest to bug, nie feature :-P ). W więk­szo­ści przy­pad­ków pierw­sza klatka filmu jest czarna, więc taką też otrzy­mu­jemy brzydką minia­turkę. Jeżeli Totem nie potrafi otwo­rzyć jakie­goś pliku, to oczy­wi­ście nie będzie w stanie wyge­ne­ro­wać miniaturki.

Teraz kilka słów na temat samych plików. Wszyst­kie minia­turki zapi­sy­wane są jako pliki graficzne png o wymia­rze więk­szego boku 128 pikseli. Przy­naj­mniej w teorii, bo aby utrzy­mać propor­cje wymia­rów (aspect ratio), pliki często mają nieco inne wymiary. Wszyst­kie pliki minia­tu­rek prze­cho­wy­wane są w ukry­tym kata­logu (kropka przed nazwą) /home/nazwa/.thumbnails/normal. Jeżeli z jakiś powo­dów nie uda się wyge­ne­ro­wać Nauti­lu­sowi minia­tu­rek, to tworzy plik png o rozmia­rach 1×1 px i wrzuca go do /home/nazwa./thumbnails/fail/gnome-thumbnail-factory.

Chcąc wymu­sić gene­ro­wa­nie minia­tu­rek na nowo, po prostu kasu­jemy pliki z normal bądź fail. Jeżeli skasu­jemy plik, dla którego istnieje minia­turka, to jest ona auto­ma­tycz­nie usuwana. Niestety czasami zdarzają się „sierotki” zajmu­jące nam tylko miej­sce na dysku. Dlatego najle­piej od czasu do czasu wyrzu­cić wszystko z poda­nych powy­żej katalogów.

Zapewne zain­te­re­sują Was dziwne nazwy plików w ./thumbnails, np. 5f740c7c7935b911e744104f8922d96f.png. Odpo­wiedź na to pyta­nie znala­złem na stro­nie ze specy­fi­ka­cjami (dostęp tylko przez Web Archive). Nazwę tworzy 32 znakowa, 128 bitowa suma kontro­lna MD5URI do pliku. Wytłu­ma­czę jaśniej: jeżeli np. plik blogasek.jpg znaj­duje się w kata­logu /home/spiechu/, to URI do niego jest file:///home/spiechu/blogasek.jpg. Następ­nie liczona jest suma kontro­lna z tego URI (a nie z pliku!) Dzięki temu Nauti­lus licząc MD5URI do plików i porów­nu­jąc je z tymi z kata­logu ./thumbnails wie, które pliki posia­dają minia­turki i wyświe­tla je. Niedo­róbką tego wszyst­kiego jest to, że prze­no­sząc bądź kopiu­jąc jakiś plik, Nauti­lus zamiast zmie­niać nazwy minia­tur­kom, tworzy od początku nowe (co w przy­padku plików filmo­wych zajmuje dosyć sporo czasu).

Linki do pozo­sta­łych części cyklu: Część 2, część 3.

Podobne wpisy:

  1. Gnome Nauti­lus i minia­turki (Cz. 2 z 3)
  2. Gnome Nauti­lus i minia­turki (Cz. 3 z 3)
  3. Minia­turki plików wideo w GNOME
  4. Tworze­nie, dzie­le­nie i łącze­nie plików PDF w Ubuntu

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <p> <pre lang="" line="" escaped=""> <q cite=""> <strike> <strong>