Comment définir la première image de chaque dossier comme icône de dossier?
La question liée ci-dessus a une réponse consistant en un script qui a fonctionné pour moi. Il a juste besoin d'une petite amélioration.
Qu'est ce que ça fait?
Il recherche les fichiers avec les extensions .jpg, .jpeg, .png, .gif, .icns, .ico et les définit comme l'icône de dossier du dossier dans lequel le fichier a été trouvé. Il fonctionne sur plusieurs dossiers, récursivement. Fondamentalement, il essaie de trouver un fichier image dans le dossier, et la première image qu'il trouve est définie comme une icône de dossier. Cela fonctionne très bien pour de nombreux scénarios, et la configuration de ce script est généralement la première chose que je fais après une nouvelle installation (car c'est incroyable).
Quel est le problème?
Il peut y avoir quelques répertoires contenant un grand nombre de fichiers image et le premier fichier image dans ce répertoire peut ne pas être bien adapté pour être l'icône du dossier.
Que faut-il faire?
Au lieu d'être basé sur une extension, s'il devenait basé sur un nom de fichier et ciblait un (par exemple folder.png
) ou plusieurs (par exemple albumart.png
cover.png
) noms de fichiers, ce problème pourrait être résolu.
ou mieux encore faire fonctionner les deux approches dans un seul script
- Trouver prédéfini
filenames
- S'il est trouvé, définissez-le comme icône de dossier et passez au dossier suivant
- S'il n'est PAS trouvé, recherchez l'extension prédéfinie et définissez-la comme icône de dossier et passez au dossier suivant
la source
Réponses:
Je pourrais peut-être encore "l'éléger un peu", mais voici les versions éditées des versions liées.
Quelle est la différence?
J'ai ajouté une liste prédéfinie à la section tête:
et j'ai remplacé:
par:
pour que le script essaie d'abord de trouver (fichier) des correspondances dans la liste
specs
, (uniquement) s'il n'y en a pas, il passe à la recherche de l'extension correspondante et fait l'affaire s'il trouve une image appropriée.1. La version de base
A utiliser avec le répertoire cible comme argument:
Comment utiliser
change_icon.py
Exécutez-le avec le répertoire cible comme argument:
C'est tout!
2. L'option de clic droit modifiée, à utiliser comme un script nautilus (clic droit)
Utiliser
Créer, s'il n'existe pas encore, le répertoire
Copiez le script dans un fichier vide, enregistrez-le
~/.local/share/nautilus/scripts
sousset_foldericons
(sans extension!) Et rendez-le exécutable .Si, pour une raison quelconque, vous souhaitez réinitialiser les icônes d'un dossier à leurs icônes par défaut, utilisez le script ici
la source
file://
. Au lieu de cela,replace("%20", " ")
vous devez utiliser le décodage URI approprié (par exempleurllib.parse.unquote
) et le codage ultérieur (urllib.parse.quote
).subprocess.Popen
àsubprocess.call
mais sur d'énormes répertoires avec près de 700+ sous-titres pas toutes les icônes de dossierurllib.parse.quote
fonctionne très bien sur un test "sec", pas dans le script. Besoin de savoir pourquoi, mais en laissant la version de travail du script pour l'instant.unquote
comme prévu?