Archives Mensuelles: octobre 2012

Nautilus et les emblèmes

Sous Gnome quand j’utilise Nautilus je note les documents que j’ai lu à l’aide d’une petite coche, on appelle ça les emblèmes.

Or sous Nautilus 3, qui arrive avec les dernières versions d’Ubuntu, le sélecteur d’emblème a disparu.

En cherchant j’ai trouvé des solutions avec des programmes tiers, mais mon besoin est beaucoup plus simple. Je souhaite juste basculer une emblème donnée sur une liste de fichier (et pouvoir l’en retirer), rien de plus.

J’ai donc écris deux scripts shell, l’un pour ajouter un emblème, l’autre pour les retirer tous. L’emplacement de stockage importe peu, nautilus-action fera le lien entre le menu et les scripts. Pensez quand même à les rendre exécutable.

Ces scripts auront besoin de lineakd pour forcer le rafraîchissement automatique de Nautilus après avoir fait l’association de l’emblème (cette partie me plait moyennement, mais pas trouvé mieux).

sudo apt-get install lineakd

setAsRead.sh

#!/bin/sh
while [ ! -z $1 ]
do
gvfs-set-attribute -t stringv "$1" metadata::emblems default
shift
done
# Nécessite l'installation de lineakd
xsendkeycode 71 1
xsendkeycode 71 0

setAsUnread.sh

#!/bin/sh
while [ ! -z $1 ]
do
gvfs-set-attribute -t unset "$1" metadata::emblems
shift
done
# Nécessite l'installation de lineakd
xsendkeycode 71 1
xsendkeycode 71 0

Nautilus Actions Configuration Tool

Cet outil permet d’ajouter des éléments dans le menu contextuel de Nautilus. Si vous ne l’avez pas d’installé, un petit apt-get install nautilus-action devrait faire l’affaire.

Paramétrage de Nautilus Action pour le script setAsRead

Paramétrage de Nautilus Action pour le script setAsRead

EDIT : Le paramètre a utiliser est « %U », j’utilisais abusivement « %F », or ce dernier ne fonctionne qu’avec des noms de fichiers locaux, donc pas de modification d’emblème de fichiers accédés par Samba

Et voila le résultat, lors d’un clic droit sur mon fichier j’ai deux nouveaux éléments : Set As Read, et Set As Unread.

Cette solution ne permet pas de choisir l’emblème, mais ce n’était pas mon propos.

De plus , la gestion du rafraîchissement de Nautilus laisse a désirer, la solution employée ici consiste à émuler un rafraîchissement de page comme on le ferait avec F5. Tant que je suis en local avec de petits répertoire il n’y aura pas de problème, mais pour peu que le réseau soit un peu lent que qu’il y ait beaucoup de fichiers cela pourrait être pénalisant. En ce cas il faudra probablement passer par une solution écrite en C utilisant l’API de Nautilus, il est fort probable qu’il soit possible de communiquer avec ce dernier pour lui faire rafraîchir le seul emblème du fichier modifié, et non relire tout le répertoire.

 

 

 

EDIT 15/11/2012 : Apres une mise à jour vers la version 12.04 (Precise Pangolin), le script reste valide mais lineakd n’existe plus, le rafraichissement automatique n’est plus actif :(.
Un coup de F5 pour mettre à jour est donc nécessaire, pour l’instant en attendant que je trouve une parade.

Publicités