Je continue dans ma série de billets non-trollistiques (désolé), et qui peuvent servir (désolé²).
Les emblèmes sont des sortes de petits symboles qu'il est possible d'ajouter sur l'icône d'un dossier/fichier pour faire joli (voire, éventuellement, pour le distinguer des autres). Thunar supporte quelques emblèmes, et vous pouvez même les affecter à un dossier/fichier par l'interface graphique : clic bouton droit sur votre fichier > Propriétés > onglet Emblèmes. Mais, évidemment, on peut les régler depuis la ligne de commande, c'est plus marrant.
Thunar stocke les emblèmes dans une mini base de données, qui utilise le "moteur" TDB. Soit dit en passant, il inclut sa propre copie -- qui date de 1999 -- des sources de TDB, c'est mal et pas optimal, mais on y travaille (remarquez, les duplications de code, ça ne dérange pas trop les gens de Kubuntu, qui ne savent pas trop lire non plus, les pauvres, mais passons -- c'est pas comme si l'un des packageurs était archive-admin, hein). La base de données des emblèmes de Thunar se trouve à l'emplacement suivant : ~/.cache/Thunar/metafile.tdb. Vous pouvez tenter de l'ouvrir avec un éditeur de texte si vous lisez l'UTF-372.5 couramment, mais c'est moins drôle.
Pour s'amuser avec la base tdb, on va utiliser tdbtool et tdbdump. Sous Debian/Ubuntu, ces outils se trouvent dans le paquet tdb-tools (ajustez en fonction de votre distribution ; si ça n'existe pas dans votre rolling release à la mode, c'est bien fait pour vous). C'est parti !
Afficher un dump de la base
Comme son nom l'indique, tdbdump est là pour ça :% tdbdump .cache/Thunar/metafile.tdb
{
key(28) = "file:///home/mrpouit/Maildir"
data(16) = "\00emblem-mail\00\00\00\00"
}
{
key(24) = "file:///home/mrpouit/bin"
data(16) = "\00emblem-system\00\00"
}
{
key(30) = "file:///home/mrpouit/Packaging"
data(16) = "\00emblem-debian\00\00"
}
Affecter un emblème à un dossier/fichier
Cette fois-ci, on utilise tdbtool, en lui passant le chemin du fichier tdb et la requête à effectuer (ici, une insertion) :
% tdbtool .cache/Thunar/metafile.tdb insert "file:///home/mrpouit/plouf" "\00emblem-danger\00\00"
% tdbdump .cache/Thunar/metafile.tdb
{
key(28) = "file:///home/mrpouit/Maildir"
data(16) = "\00emblem-mail\00\00\00\00"
}
{
key(24) = "file:///home/mrpouit/bin"
data(16) = "\00emblem-system\00\00"
}
{
key(26) = "file:///home/mrpouit/plouf"
data(16) = "\00emblem-danger\00\00"
}
{
key(30) = "file:///home/mrpouit/Packaging"
data(16) = "\00emblem-debian\00\00"
}
Changer l'emblème
Avec tdbtool, c'est l'opération "store" (ils ne pouvaient pas appeler ça "update" comme tout le monde) :
% tdbtool .cache/Thunar/metafile.tdb store "file:///home/mrpouit/plouf" "\00emblem-default\00"
Storing key:
key 26 bytes
file:///home/mrpouit/plouf
data 16 bytes
[000] 00 65 6D 62 6C 65 6D 2D 64 65 66 61 75 6C 74 00 .emblem- default
% tdbdump .cache/Thunar/metafile.tdb
{
key(28) = "file:///home/mrpouit/Maildir"
data(16) = "\00emblem-mail\00\00\00\00"
}
{
key(24) = "file:///home/mrpouit/bin"
data(16) = "\00emblem-system\00\00"
}
{
key(26) = "file:///home/mrpouit/plouf"
data(16) = "\00emblem-default\00"
}
{
key(30) = "file:///home/mrpouit/Packaging"
data(16) = "\00emblem-debian\00\00"
}
Ouvrez une nouvelle fenêtre de Thunar pour observer le changement.
Supprimer l'emblème
C'est beaucoup plus facile, il y a juste besoin de la clé :% tdbtool .cache/Thunar/metafile.tdb delete "file:///home/mrpouit/plouf"
% tdbdump .cache/Thunar/metafile.tdb
{
key(28) = "file:///home/mrpouit/Maildir"
data(16) = "\00emblem-mail\00\00\00\00"
}
{
key(24) = "file:///home/mrpouit/bin"
data(16) = "\00emblem-system\00\00"
}
{
key(30) = "file:///home/mrpouit/Packaging"
data(16) = "\00emblem-debian\00\00"
}
Ouvrez de nouveau une nouvelle fenêtre de Thunar, et appréciez la disparition de l'emblème tout moche.
Voilà pour l'astuce foireuse du jour. J'avoue que je ne sais pas si on est supposé tripatouiller le tdb de Thunar avec ces outils (il y a un avertissement dans la page de manuel qui déconseille d'utiliser ça sur ceux de samba…), mais j'ai testé à plusieurs reprises sur la série 1.2.x et le chat du voisin n'est pas arrivé en hurlant pour m'installer GNOME, donc ça me semble ok. ;-)
Vous trouverez plus d'options pour tdbtool dans sa page de man.