Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/09/2021, à 14:43

Hizoka

[Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Bonjour,

suite à la demande de https://forum.ubuntu-fr.org/viewtopic.php?id=2066741, je me suis repenché sur les possibilités offertes pas KDE et les service-menus.

Je vais donc vous faire un retour d'expérience smile

Et pour voir tout de suite le résultat possible :
150758696-587cdf89-2abb-4936-8792-16f18d5f1a03.png
Le dossier Animaux affiche seulement une image portant un nom spécifique et le met en valeur dans un cadre.

Le fichier Test.mkv affiche une image qu'il contient.

Le fichier Test2.mkv affiche une icône personnalisée via le fichier keneric.conf.


Les fichiers :
Un ppa a été créé pour proposer tous les fichiers.
Les sources sont disponibles sur le github.
Une version compilée de Keneric est disponible sur le github.


PPA :
Installation du ppa et mise à jour des paquets.

sudo add-apt-repository ppa:hizo/service-menus

Il est possible de télécharger les fichiers deb directement.

Il ne reste plus qu'à installer les paquets voulus.

Sources :
Elles sont toutes dispo sur le github : https://github.com/Hizoka76/keneric
Il y a la présentation des différents éléments qui y sont fait ainsi que des exemples.

Fichier compilé :
Le fichier compilé est disponible sur le github.


Infos générales :
Le script keneric et les scripts des service-menus doivent être dans un dossier du PATH :

echo "$PATH"

Les fichiers desktop doivent être dans un dossier de config kde5 :

kf5-config --path services

Tous les services sont regroupés dans des sous-menus (Keneric Actions ou MKV Actions).

Pour connaître le mimetype d'un élément (important les fichiers desktop et le script keneric).

mimetype ELEMENT

Le script est bien commenté, alors faites vous plaisir et jetez-y un oeil wink


Description des paquets et fichiers :
- keneric :
Le fichier keneric.so doit se trouver dans le dossier "/usr/lib/x86_64-linux-gnu/qt5/plugins/".

Keneric est une idée géniale, il permet de gérer les vignettes via un script (bash, python...) nommé keneric (sans extension).
Ça permet de réaliser de nombreuses actions sans compétences poussées.

Voici son fonctionnement :
01.png
- Dolphin fait appelle à Keneric (via un desktop de type ThumbCreator).
- Keneric exécute le script bash nommé keneric (et plus stripPicture) (qui se trouve dans un dossier du PATH).
- keneric (et plus stripPicture) fait tout le traitement et en ressort une image.
- Keneric récupère l'image de keneric (et plus stripPicture).
- Dolphin affiche la vignette.

- Fichier desktop pour Keneric :

[Desktop Entry]
Type=Service

# Nom qui sera affiché dans le menu des vignettes de Dolphin
Name=Dossier à une seule vignette (Keneric)

# Type spécifique aux vignettes
X-KDE-ServiceTypes=ThumbCreator

# Concerne tous les dossiers
MimeType=inode/directory;

# Utilisation de la libraire Keneric
X-KDE-Library=keneric

# Autorise la mise en cache des vignettes
CacheThumbnail=true

Plus d'exemples ici.

- Script keneric (et plus stripPicture) :

#!/bin/bash

# Utilisation : keneric FullName mime exportPicture

# Nom du fichier pour lequel on veut une vignette
FullName="$1"

# Mimetype du fichier
MimeType="$2"

# URL de l'image attendue par Keneric
ExportPicture="$3"

# Hash md5 du fichier
Thumb="${ExportPicture##*/}"

# En fonction du type des fichiers
case "${MimeType}" in
    XXX) ...
esac

Plus d'exemples ici.

- keneric.conf
J'ai ajouté l'utilisation d'un fichier de configuration.
Il permet à keneric de ne fonctionner que dans certains dossiers, d'en interdire d'autres en fonction du mimetype.
Il permet également d'utiliser des icônes personnalisées pour des fichiers spécifiques.
Toutes les explications sont sur le github


Services menu du groupe Keneric Actions :
- keneric-custom-icon :
Dépendances : kdialog
Ce service menu permet de choisir une icône personnalisée pour un élément (fichier / dossier) spécifique.
Cela ajoute tout simplement une ligne dans le fichier keneric.conf.
Cette icône sera appliquée et le script keneric ne sera même pas appelé.
Il est visible dans le groupe "Keneric Actions".
Si keneric-remove-thumbnails est installé, la fenêtre Dolphin est rechargée afin d'afficher la nouvelle icône.

- keneric-delete-custom-icon :
Dépendances : kdialog
Ce service menu permet de supprimer l'icône personnalisées qui a été choisi pour un élément (fichier / dossier).
Cela supprime tout simplement une ligne dans le fichier keneric.conf.
C'est l'action inverse du service menu ci-dessus.
Cette icône sera appliquée et le script keneric ne sera même pas appelé.
Il est visible dans le groupe "Keneric Actions".
Si keneric-remove-thumbnails est installé, la fenêtre Dolphin est rechargée afin d'afficher la nouvelle icône.

- keneric-hash-file :
Dépendances : kdialog qdbus|xclip
Ce service menu permet de copier dans le presse papier le hash md5 d'un élément (fichier / dossier).
Ainsi, il est facile de retrouver la vignette dans le dossier ~/.cache/thumbnails ou encore de personnaliser manuellement l'icône de l'item dans le fichier keneric.conf.
Il est visible dans le groupe "Keneric Actions".

- keneric-remove-thumbnails :
Dépendances : kdialog
Ce service menu permet de supprimer les vignettes des éléments (fichiers / dossiers) sélectionnés et de recharger l'affichage de Dolphin.
Il est visible dans le groupe "Keneric Actions".



Services menu du groupe MKV Actions :
150792543-4215ce7d-3413-4d02-bbc1-7055b17d521f.png
Ils sont disponibles sur le même ppa que keneric ainsi que sur ce github.

- mkv-add-attachments :
Dépendances : mkvtoolnix kdialog
Permet de choisir des pièces à attacher à un fichier MKV.
Cela se fait très rapidement et peut être utile pour ajouter une pochette au fichier et l'utiliser comme vignette avec keneric.

- mkv-delete-attachments  :
Dépendances : mkvtoolnix kdialog
Permet de supprimer toutes les pièces attachées à des fichiers MKV.
Cela se fait très rapidement.

- mkv-edit-title  :
Dépendances : mkvtoolnix kdialog
Permet de modifier le titre de fichiers MKV.
Cela se fait très rapidement.


Sites intéressants :
la doc : https://doc.ubuntu-fr.org/service_menus

https://github.com/Hizoka76/Services-menu
https://github.com/Hizoka76/keneric
https://launchpad.net/~hizo/+archive/ub … vice-menus

https://www.kubuntuforums.net/showthrea … -Previews/ (à partir des pages 2 ou 3)
https://forum.kde.org/viewtopic.php?f=224&t=156241
https://api.kde.org/frameworks/kio/html … eator.html
https://github.com/yodor/keneric


N’hésitez pas à me faire des retours et à partager vos service-menus !

Dernière modification par Hizoka (Le 28/01/2022, à 12:43)

Hors ligne

#2 Le 22/09/2021, à 16:44

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Refonte complète du 1er message.

Hors ligne

#3 Le 22/09/2021, à 21:05

gibkristen

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Salut
Le lien pour le fichier .zip n'est pas bon  https://hizo.fr/linux/hizo-service-menu … -menus.zio
Merci pour ton boulot wink


11 septembre 2008, je découvre et adopte GNU/Linux avec Ubuntu 8.04 LTS ("The Hardy Heron")
Actuellement avec Archlinux XFCE4 et Debian Bullseye XFCE4

Hors ligne

#4 Le 22/09/2021, à 21:11

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Oups, c'est .zip pas .zio smile

Hors ligne

#5 Le 22/09/2021, à 21:28

abecidofugy

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Ça m’a l’air cool. Je pense que ça passe aussi pour KDE neon ?


[Soignons nos posts] comprendre que lorsqu’on fait une demande d’aide, ou apporte une aide, on la joue collectif et on œuvre pour l’humanité en quelque sorte.
Kubuntu et KDEneon en VM dans host W10 / KDEneon en double-boot avec W10 / Ubuntu 20.04 serveur sur machines dédiées.
Agence de communication en Alsace · web · print

Hors ligne

#6 Le 22/09/2021, à 21:39

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Ouais tout à fait, je suis sous Neon smile

EDIT : Je finalise un système qui télécharge toutes les affiches de films depuis TMDB smile

Dernière modification par Hizoka (Le 22/09/2021, à 23:50)

Hors ligne

#7 Le 21/01/2022, à 20:25

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

J'ai créé une v0.4 de keneric : https://github.com/Hizoka76/keneric
Le nom de la vignette (thumbnail) temporaire est maintenant le hash md5 de la vignette finale.
Le script exécuté a été renommé de stripPicture en keneric.
L'utilisation d'un fichier conf est maintenant ajouté.
Tout est expliqué sur le github.


Et j'ai créé un soft en pyqt pour le téléchargement des pochettes de films, il est quand même plus sympa que la succession de fenêtres bash smile
https://github.com/Hizoka76/HizoTMDB

Dernière modification par Hizoka (Le 21/01/2022, à 20:27)

Hors ligne

#8 Le 28/01/2022, à 12:42

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Nouvelle version 0.5:
Chargement de la vignette si elle existe sans passer par le script keneric.
Nécessaire pour l'affichage de la vignette dans le panneau de l'affichage des informations de Dolphin (et gain de temps pour son affichage).

Hors ligne

#9 Le 18/02/2022, à 12:01

xkain666

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Bonjour,

Ton travail m’intéresse fortement mais je ne comprends pas comment cela fonctionne, ton "tuto" n'est pas écrit pour que les débutants puissent comprendre l'installation et la mise en place.

Hors ligne

#10 Le 18/02/2022, à 14:27

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Salut,

sur quoi bloques tu ?

As tu lu le github ?
https://github.com/Hizoka76/keneric
Il y a pas mal d'exemples dessus.

Car au final, tu n'as pratiquement rien à faire...
Installer kerneric.so
Créer le fichier desktop pour Dolphin
Créer le script keneric

Hors ligne

#11 Le 18/02/2022, à 15:48

xkain666

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

J'ai bien keneric.so dans le dossier "/usr/lib/x86_64-linux-gnu/qt5/plugins/" , après je bloque, je ne comprends pas ce que je dois faire pour avoir une image choisi en vignette.

Hors ligne

#12 Le 18/02/2022, à 18:39

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Il y a 2 trucs possibles :
- Un script qui traite tes fichiers en fonction de leur mimetype.
https://github.com/Hizoka76/keneric/tree/master/scripts

- Un fichier de config qui sert à attribuer une image pour un fichier spécifique.
https://github.com/Hizoka76/keneric/tree/master/conf

Et dans tous les cas, il te faut un fichier desktop pour que keneric.so soit utilisé par Dolphin
https://github.com/Hizoka76/keneric#fichiers-desktop
https://github.com/Hizoka76/keneric/tree/master/desktop

Hors ligne

#13 Le 18/02/2022, à 22:44

xkain666

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Bonsoir,

Il faudrait donc que je crée un fichier qui s'appel "desktop" contenant ceci:

[Desktop Entry]
Type=Service

# Nom qui sera affiché dans le menu des vignettes de Dolphin
Name=Dossier à une seule vignette (Keneric)

# Type spécifique aux vignettes
X-KDE-ServiceTypes=ThumbCreator

# Concerne tous les dossiers
MimeType=inode/directory;

# Utilisation de la libraire Keneric
X-KDE-Library=keneric

# Autorise la mise en cache des vignettes
CacheThumbnail=true

Dans le dossier que je veux qu'il soit avec la vignette ?


En fait j'ai un dossier qui contient beaucoup d'autres dossier photos et j'aimerais avoir une vignette spécifique pour chacun de ces dossiers photos comme ton exemple avec le dossier animaux.
À l'époque, je te parle d'il y a 10 ans peut-être il y avait un script sur Ubuntu qui faisait en sorte de mettre une vignette dossier automatiquement dés lors que le dossier contenait une image qui s'appelait "folder.png" .

Hors ligne

#14 Le 19/02/2022, à 01:00

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Il faudrait donc que je crée un fichier qui s'appel "desktop" contenant ceci:

Non... ton fichier a une extension .desktop mais ne s'appelle pas desktop...
J'ai l'impression que tu n'as pas lu les explications...


https://github.com/Hizoka76/keneric#fichiers-desktop
=> Ton fichier desktop doit se trouver dans un dossier de :

kf5-config --path services

Tu peux reprendre directement https://github.com/Hizoka76/keneric/blo … er.desktop (le même que dans ton message ci-dessus) et tu le fous dans ~/.local/share/kservices5/ (si le dossier fait parti de la liste de la commande ci-dessus).
Ce fichier ajoute une ligne dans Dolphin > Configurer > Configurer Dolphin > Général > Apercu qui permet à Dolphin de lancer keneric.so lorsqu'il trouve un dossier.


Il te reste plus qu'à reprendre le script https://github.com/Hizoka76/keneric/blo … ts/keneric et de le foutre dans un dossier du path.

echo "$PATH"

Tu peux effacer toute la partie video/x-matroska du case qui ne te sert à rien.


À l'époque, je te parle d'il y a 10 ans peut-être il y avait un script sur Ubuntu qui faisait en sorte de mettre une vignette dossier automatiquement dés lors que le dossier contenait une image qui s'appelait "folder.png" .

C'est en effet l’intérêt du script que je mets en exemple.
Mais un chouille plus poussé.
Il recherche les fichiers (.)(folder|front|cover|icon).(jpg|png|jpeg|webp) des dossiers pour les utiliser comme vignette.
Le . devant le nom est facultatif et permet de cacher l'image à utiliser.
Et s'il trouve icon.png, l'icône conserve sa transparence et n'a pas d'entourage pour avoir vraiment la superposition de l'icône dans l'icône de dossier.

C'est là toute la puissance du truc, c'est que tu peux appliquer tous les filtres imagemagick que tu veux et réaliser tous les traitements sur l'image avec quelques petites commandes.
Tu peux ajouter des traitements différents en fonction des noms des fichiers...
Ce n'est que de la programmation bash basique.


Attention, j'ai rencontré un souci avec les toutes dernières version de Dolphin, la gestion des aperçus via la configuration ne fonctionne plus, il faut supprimer le groupe [PreviewSettings] du fichier ~/.config/dolphinrc.
Mais dans ce cas là, il va exécuter le script de gestion des dossiers par défaut, il faut donc le virer.

sudo mv /usr/share/kservices5/directorythumbnail.desktop ~/directorythumbnail.desktop

Ca le sauvegarde dans ~.

Hors ligne

#15 Le 19/02/2022, à 01:55

xkain666

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Lire est une chose, comprendre en est une autre, faut partir du principe que tu discutes avec une personne qui n'a acquis aucune base du langage Linux

À partir de là si le fichier "desktop" ne doit pas s'appeler ainsi comment doit-il s'appeler concrètement avec son extension ?


Quand tu dis que le fichier desktop doit se trouver dans un dossier :

kf5-config --path services

D'accord mais à quoi correspond cette ligne de commande ?

Quand tu parles de "et de le foutre dans un dossier du path"

C'est quoi "path" et c'est quoi cette commande, comment dois-je l'exécuter? :

echo "$PATH"

Tu dis que "Ce n'est que de la programmation bash basique." D'accord mais pour la grande majorité des gens c'est du chinois, donc tu devrais partir du principe que tu parles à un "gogole" qui ne comprends pas les langages "path, mimetype, etc"

En espérant que mon "blocage" aussi stupide soit-il fera avancer ton travail.

Hors ligne

#16 Le 19/02/2022, à 13:00

Hizoka

Re : [Tuto] Personnaliser les vignettes des fichiers/dossiers dans Dolphin

Je ne sais pas quoi te répondre...

Ça fait plusieurs fois que je recommence tout mon message...
Un coup trop technique, une fois trop désagréable ou encore trop bordélique ou bien encore une sorte de copier coller des explications déjà existantes...

Tu veux conduire une voiture sans savoir ce qu'est un volant ou une boite de vitesse...
Dans ce genre de cas, il existe les taxis, mais le problème c'est que tu ne sauras jamais conduire et tu seras toujours dépendant de quelqu'un...

Je vais donc essayer de faire mon Ubber sans t'expliquer comment on gère les pédales et le levier.

Ce n'est pas du tout l'idée du système mais voici un fichier zip.
Version en français :
Le fichier zip contient les fichiers :
- keneric.so que tu vas mettre dans /usr/lib/x86_64-linux-gnu/qt5/plugins/
- keneric que tu vas mettre dans /usb/bin/
- KenericMimeTypes.desktop que tu vas mettre dans /usr/share/kservices5/

Version informatique :
Il faut déziper le fichier, une fois dans le dossier extrait, voici les commandes à taper pour déplacer les fichiers :

sudo mv keneric.so /usr/lib/x86_64-linux-gnu/qt5/plugins/
sudo mv keneric /usb/bin/
sudo mv KenericMimeTypes.desktop /usr/share/kservices5/

A lire sur la doc :
https://doc.ubuntu-fr.org/zip
https://doc.ubuntu-fr.org/terminal
https://doc.ubuntu-fr.org/tutoriel/cons … es_de_base
https://doc.ubuntu-fr.org/sudo


Il ne te reste plus qu'à tester le tout en mettant une image appelée cover.jpg dans un dossier.


Si ça ne fonctionne pas :
- Fermer Dolphin et réouvre le.
- Vérifie que tu as bien le logiciel imagemagick.
- Supprime l'ancienne vignette (elle se trouve parmi toutes les vignettes dans le dossier /.cache/thumbnails/).
- Ouvre le fichier ~/.config/dolphinrc et supprime toute la partie du groupe [PreviewSettings].
- Vire le fichier desktop gérant les vignettes des dossiers d'origine avec la commande ci-dessous.

sudo mv /usr/share/kservices5/directorythumbnail.desktop ~/directorythumbnail.desktop

Si ça ne fonctionne toujours pas, je ne pourrais absolument plus rien faire à part prendre possession de ton pc à distance, ce que je ne souhaite absolument pas faire, mon taf me suffit.


Si tu veux faire marche arrière :

sudo rm usr/lib/x86_64-linux-gnu/qt5/plugins/keneric.so /usb/bin/keneric /usr/share/kservices5/KenericMimeTypes.desktop
sudo mv ~/directorythumbnail.desktop /usr/share/kservices5/directorythumbnail.desktop

En espérant ne pas avoir été trop désagréable...

Et surtout lis la doc, recherche des infos sur internet...
Il y absolument tout, pour preuve, j'ai une formation infirmier et je travaille en informatique, j'ai tout appris sur le net.

Bonne journée.

Dernière modification par Hizoka (Le 19/02/2022, à 13:02)

Hors ligne