Instructions générales d'installation
Vignettes dans les référentiels et les PPA
Un certain nombre de vignettes sont pré-packagées et peuvent être facilement installées à partir du centre logiciel ou de la ligne de commande. Ces vignettes ne nécessitent aucune configuration supplémentaire et devraient fonctionner juste après le redémarrage de nautilus. Vous pouvez le faire avec:
nautilus -q
Veuillez lire ces Q&R avant d'installer quoi que ce soit à partir d'un PPA:
Que sont les AAE et comment les utiliser?
Les PPA sont-ils sûrs à ajouter à mon système et quels sont les "drapeaux rouges" à surveiller?
Scripts de miniatures personnalisés sur Ubuntu 11.04 et supérieur
Les vignettes personnalisées qui ne sont pas disponibles dans les référentiels doivent être installées manuellement. Voici les étapes à suivre pour les installer:
Vérifiez si le script a des dépendances répertoriées. Si c'est le cas, installez-les d'abord.
Téléchargez le script et rendez-le exécutable avec chmod a+x filethumbnailer
ou via Nautilus
Désignez un dossier dans votre système de fichiers pour tous les futurs vignettes et déplacez-y le script, par exemple
mkdir $HOME/.scripts/thumbnailers && mv filethumbnailer $HOME/.scripts/thumbnailers
Vous devrez ensuite enregistrer votre script auprès de Nautilus . Pour ce faire, créez une entrée de miniature dans /usr/share/thumbnailers
. L'entrée doit suivre le schéma de nommage foo.thumbnailer
où foo
est l'expression de votre choix (ici file
):
gksudo gedit /usr/share/thumbnailers/file.thumbnailer
Les spécifications de la vignette suivent ce schéma:
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/file.thumbnailer %i %o %s
MimeType=application/file;
L' Exec
entrée pointe vers votre script de miniature tandis que le MimeType
champ désigne les MimeTypes associés. Les variables possibles sont:
%i Input file path
%u Input file URI
%o Output file path
%s Thumbnail size (vertical)
Les spécifications et les variables varient avec chaque script. Copiez et collez simplement le contenu de la zone de texte correspondante dans le fichier et enregistrez-le.
Les vignettes doivent être opérationnelles après le redémarrage de nautilus ( nautilus -q
).
Scripts de miniatures personnalisés sur Ubuntu 11.04 et inférieurs
Les versions antérieures d'Ubuntu s'appuient sur GConf pour les associations de vignettes. Voir ici pour plus d'informations.
Sources :
https://live.gnome.org/ThumbnailerSpec
https://bugzilla.redhat.com/show_bug.cgi?id=636819#c29
https://bugs.launchpad.net/ubuntu/+source/gnome-exe-thumbnailer/+bug/752578
http://ubuntuforums.org/showthread.php?t=1881360
Vignettes par type de fichier
Fichiers CHM
Aperçu
Description : Avec ce script, vous obtiendrez des miniatures de vos fichiers chm dans le gestionnaire de fichiers nautilus. Le script utilise la plus grande image de la page d'accueil du fichier chm pour générer la miniature, généralement ce sera une image de la couverture.
Créateur : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )
Dépendances :sudo apt-get install python-beautifulsoup python-chm imagemagick
Entrée de vignette
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/chmthumbnailer %i %o %s
MimeType=application/vnd.ms-htmlhelp;application/x-chm;
Scénario
#!/usr/bin/env python
import sys, os
from chm import chm
from BeautifulSoup import BeautifulSoup
class ChmThumbNailer(object):
def __init__(self):
self.chm = chm.CHMFile()
def thumbnail(self, ifile, ofile, sz):
if self.chm.LoadCHM(ifile) == 0:
return 1
bestname = None
bestsize = 0
base = self.chm.home.rpartition('/')[0] + '/'
size, data = self.getfile(self.chm.home)
if size > 0:
if self.chm.home.endswith(('jpg','gif','bmp')):
self.write(ofile, sz, data)
else:
soup = BeautifulSoup(data)
imgs = soup.findAll('img')
for img in imgs:
name = base + img.get("src","")
size, data = self.getfile(name)
if size > bestsize:
bestsize = size
bestname = name
if bestname != None:
size, data = self.getfile(bestname)
if size > 0:
self.write(ofile, sz, data)
self.chm.CloseCHM()
def write(self, ofile, sz, data):
fd = os.popen('convert - -resize %sx%s "%s"' % (sz, sz, ofile), "w")
fd.write(data)
fd.close()
def getfile(self,name):
(ret, ui) = self.chm.ResolveObject(name)
if ret == 1:
return (0, '')
return self.chm.RetrieveObject(ui)
if len(sys.argv) > 3:
chm = ChmThumbNailer()
chm.thumbnail(sys.argv[1], sys.argv[2], sys.argv[3])
Fichiers EPUB
Aperçu
Description : epub-thumbnailer est un script simple qui essaie de trouver une couverture dans un fichier epub et crée une miniature pour celui-ci.
Créateur : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )
Dépendances : aucune répertoriée, a bien fonctionné tout de suite
Entrée de vignette
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/epubthumbnailer %i %o %s
MimeType=application/epub+zip;
Scénario
#!/usr/bin/python
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Author: Mariano Simone (marianosimone@gmail.com)
# Version: 1.0
# Name: epub-thumbnailer
# Description: An implementation of a cover thumbnailer for epub files
# Installation: see README
import zipfile
import sys
import Image
import os
import re
from xml.dom import minidom
from StringIO import StringIO
def get_cover_from_manifest(epub):
img_ext_regex = re.compile("^.*\.(jpg|jpeg|png)$")
# open the main container
container = epub.open("META-INF/container.xml")
container_root = minidom.parseString(container.read())
# locate the rootfile
elem = container_root.getElementsByTagName("rootfile")[0]
rootfile_path = elem.getAttribute("full-path")
# open the rootfile
rootfile = epub.open(rootfile_path)
rootfile_root = minidom.parseString(rootfile.read())
# find the manifest element
manifest = rootfile_root.getElementsByTagName("manifest")[0]
for item in manifest.getElementsByTagName("item"):
item_id = item.getAttribute("id")
item_href = item.getAttribute("href")
if "cover" in item_id and img_ext_regex.match(item_href.lower()):
cover_path = os.path.join(os.path.dirname(rootfile_path),
item_href)
return cover_path
return None
def get_cover_by_filename(epub):
cover_regex = re.compile(".*cover.*\.(jpg|jpeg|png)")
for fileinfo in epub.filelist:
if cover_regex.match(os.path.basename(fileinfo.filename).lower()):
return fileinfo.filename
return None
def extract_cover(cover_path):
if cover_path:
cover = epub.open(cover_path)
im = Image.open(StringIO(cover.read()))
im.thumbnail((size, size), Image.ANTIALIAS)
im.save(output_file, "PNG")
return True
return False
# Which file are we working with?
input_file = sys.argv[1]
# Where do does the file have to be saved?
output_file = sys.argv[2]
# Required size?
size = int(sys.argv[3])
# An epub is just a zip
epub = zipfile.ZipFile(input_file, "r")
extraction_strategies = [get_cover_from_manifest, get_cover_by_filename]
for strategy in extraction_strategies:
try:
cover_path = strategy(epub)
if extract_cover(cover_path):
exit(0)
except Exception as ex:
print "Error getting cover using %s: " % strategy.__name__, ex
exit(1)
Fichiers EXE
Aperçu
Description : gnome-exe-thumbnailer est une vignette pour Gnome qui donnera aux fichiers Windows .exe une icône basée sur leur icône intégrée et une icône générique "Wine program". Si le programme dispose d'autorisations d'exécution normales, l'icône intégrée standard s'affiche. Cette vignette donnera également une icône de vignette pour les programmes exécutables .jar, .py et similaires.
Disponibilité : référentiels officiels
Installation
sudo apt-get install gnome-exe-thumbnailer
ODP / ODS / ODT et autres fichiers LibreOffice et Open Office
Aperçu
Description: ooo-thumbnailer est un imageur de documents LibreOffice, OpenOffice.org et Microsoft Office qui peut être utilisé par Nautilus pour créer des vignettes pour vos documents, feuilles de calcul, présentations et dessins.
Disponibilité : PPA du développeur (la version la plus récente compatible avec LibreOffice dans Ubuntu 12.04 et plus)
Installation
sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer
.xpm
images? J'ai supposé qu'ils étaient aussi "standard" quepng
,jpg
etbmp
, mais Nautilus ne génère pas d'aperçus pour eux.