#1 Le 07/04/2018, à 07:06
- winux
[RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Bonjour
Un copain que j'ai perdu de vue car parti à l'étranger m'avait fait l'excellent script suivant, mais malheureusement j'ai désormais le message d'erreur qui suit.
Ca m'inquiète pour l'avenir car pour le moment ça passe encore, mais quid des futures versions d'Ubuntu ?
C'est pourquoi j'essaie d'anticiper
gerard@PC4:~$ '/media/DATA-GG/0-ESSAI_ICONES_AUTO/scripts/Main.sh'
This tool has been deprecated, use 'gio set' instead.
See 'gio help set' for more info.
SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK
BUT DE CE SCRIPT
Pour chaque nouvelle installe Ubuntu, générer automatiquement les icônes personnalisées de mes dossiers, sachant qu'il y a des sous-dossiers, ...
Il s'agit de tous mes dossiers, appartenant à la partition DATA-GG, personnalisés à partir de la source suivante dont voici un extrait
http://tinypic.com/r/2isxw5l/9
Le script principal est main.sh
je l'ai ultra simplifié pour qu'il ne reste qu'un seul dossier à personnaliser.
J'ai remplacé DATA-GG par DATA-GG/ESSAI_ICONES_AUTO
#!/bin/bash
#Récupère le chemin de lancement du script Main.sh
SCRIPT_PATH=$(dirname "$0");
#Inclusion de fichier
source "${SCRIPT_PATH}/constantes.sh"
source "${SCRIPT_PATH}/functions.sh"
# Mettre ici l'ensemble des commandes
# SOUS /DATA-GG/ESSAI_ICONES_AUTO
# Icônes sous "DATA-GG/0-ESSAI_ICONES_AUTO"
change_icone "${DATA_PATH}/trial" "${ICON_PATH}/Micronet.png"
echo "SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK"
ce qui donne le résultat suivant
ce script s'appuie sur
constantes.sh
#!/bin/bash
#########################################################
# FICHIER DE CONSTANTES
#########################################################
#Formatage des messages d'erreur
BEGIN_FORMAT="\e[1;34m"
END_FORMAT="\e[0m"
#########################################################
# répertoire racine : DATA-GG/0-ESSAI_ICONES_AUTO
DATA_PATH="/media/DATA-GG/0-ESSAI_ICONES_AUTO"
#########################################################
# répertoire racine : ICÔNES PC4
ICON_PATH="/media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux"
et functions.sh
#!/bin/bash
##########################################
#Fichier contenant les fonctions utilisées
#dans les scripts
#Il ne devrait pas y avoir besoin de le modifier
##########################################
#Fonction qui teste l'existence d'un fichier ou dossier
function doesFileExist(){
fileToTest=$1
# Le répertoire ou le fichier existe t'il
if [[ -d $fileToTest || -f $fileToTest ]] ; then
return 0;
else
return 1;
fi
}
#Fonction qui change l'icone utilisateur
function change_icone(){
sourceToChange=$1
iconPath=$2
#Teste l'existence du fichier/dossier à modifier
doesFileExist "$sourceToChange"
if [[ $? == 1 ]]; then
echo -e "Le fichier SOURCE ${BEGIN_FORMAT} ${sourceToChange} ${END_FORMAT} n'existe pas"
return 1;
fi
#Teste l'existence du fichier icone
doesFileExist "$iconPath"
if [[ $? == 1 ]]; then
echo -e "Le fichier ICONE ${BEGIN_FORMAT} ${iconPath} ${END_FORMAT} n'existe pas"
return 1;
fi
#Changement réel d'icone
gvfs-set-attribute "${sourceToChange}" metadata::custom-icon "file://${iconPath}"
Si vous pouviez m'aider à placer le gio suggéré dans tout ça, ça m'aiderait bien car j'ai une culture marketing, pas du tout développeur et ce script m'évite un travail fastidieux.
Un grand merci car moi je sais pas faire, c'est un peu du Chinois
Dernière modification par winux (Le 07/04/2018, à 10:27)
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#2 Le 07/04/2018, à 07:40
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
je pense que c'est la dernière ligne de functions.sh
gvfs-set-attribute "${sourceToChange}" metadata::custom-icon "file://${iconPath}"
gnome virtual file system = gvfs
et gio(en)
Dernière modification par youssoufB (Le 07/04/2018, à 07:41)
mail et moteur de recherche: Lilo
Hors ligne
#3 Le 07/04/2018, à 08:09
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
merci youssoufB, c'est une très bonne piste, on sait au moins ce qu'il faut changer, mais comme je l'ai dit je ne suis pas développeur, alors comment transformer ce gvfs-set-attribute en gio-set-attribute.
J'ai essayé bestialement de remplacer l'un par l'autre, mais comme je m'en doutais ça n'a pas marché.
Des meilleurs que moi (c'est facile à trouver sur ce forum !) peuvent faire mieux ??
Ca me rendrait un grand service ... pour le futur, merci
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#4 Le 07/04/2018, à 08:16
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
je sais pas ce que fait ton script est ce que tu peu me dire ce que tu devrais faire si tu devais le faire à la main.
bon j'ai fait un :
man gvfs-set-attribue
En fait ton script fait que cette commande:
gvfs-set-attribute "/media/DATA-GG/0-ESSAI_ICONES_AUTO/trial" metadata::custom-icon "file:///media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png"
il verfie simplement si les fichier /media/DATA-GG/0-ESSAI_ICONES_AUTO/trial et DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png existe. s'il n’existe pas il affiche le nom du fichier en bleu dans un message d'erreur.
et il envoie à la fin le message que tu connaît.
Dernière modification par youssoufB (Le 07/04/2018, à 08:44)
mail et moteur de recherche: Lilo
Hors ligne
#5 Le 07/04/2018, à 08:37
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Ah ça c'est dans mes cordes .
Pour retrouver d'un seul coup d’œil tous mes dossiers et sous-dossiers, je leur affecte à chacun une icône personnalisée.
Par exemple si je veux affecter une icône particulière au dossier "essai", je ferai
clic droit dessus > propriétés
clic sur l'icône dossier en haut à gauche de la nouvelle fenêtre
navigation jusqu'à ma base d’icônes
et enfin double clic sur l'icône choisie.
voici le chemin de ma base d'icônes :
media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux
Et ce multiplié par la centaine de dossiers que je veux personnaliser.
Tu comprends donc pourquoi je suis si attaché à ce script ou son équivalent en gio
Si tu peux me dépatouiller ça sur un seul dossier, je me débrouillerai pour extrapoler ensuite à l'ensemble
MERCI
Dernière modification par winux (Le 07/04/2018, à 08:38)
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#6 Le 07/04/2018, à 08:48
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
personnellement j'ai pas gio j'ai regardé sur mon ubuntu untity j'ai pas trouver non plus.
ça à l'air d’être pour les bureau gnome.
il me faudrait:
man gio
si ça ne donne rien chez toi non plus essaie un:
gio
il devrais te dire que la commande existe pas mais peut être qu'il te proposerons un paquet à installer.
Dernière modification par youssoufB (Le 07/04/2018, à 08:51)
mail et moteur de recherche: Lilo
Hors ligne
#7 Le 07/04/2018, à 09:07
- kholo
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
salut,
peut être une erreur de copier coller mais...
il manque une parenthèse à la fin de fonction.sh : }
...
Hors ligne
#8 Le 07/04/2018, à 09:34
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
personnellement j'ai pas gio j'ai regardé sur mon ubuntu untity j'ai pas trouver non plus.
ça à l'air d’être pour les bureau gnome.
il me faudrait:man gio
effectivement je suis sous 18.04 qui est en Gnome puisque Unity est désormais abandonné.
voici le résultat de man gio que je viens de taper
GIO(1) User Commands GIO(1)
NAME
gio - GIO commandline tool
SYNOPSIS
gio help [COMMAND]
gio version
gio cat LOCATION...
gio copy [OPTION...] SOURCE... DESTINATION
gio info [OPTION...] LOCATION...
gio list [OPTION...] [LOCATION...]
gio mime MIMETYPE [HANDLER]
gio mkdir [OPTION...] LOCATION...
gio monitor [OPTION...] [LOCATION...]
gio mount [OPTION...] [LOCATION...]
gio move [OPTION...] SOURCE... DESTINATION
gio open LOCATION...
gio rename LOCATION NAME
gio remove [OPTION...] LOCATION...
gio save [OPTION...] DESTINATION
gio set [OPTION...] LOCATION ATTRIBUTE VALUE...
gio trash [OPTION...] [LOCATION...]
gio tree [OPTION...] [LOCATION...]
DESCRIPTION
gio is a utility that makes many of the GIO features available from the
commandline. In doing so, it provides commands that are similar to
traditional utilities, but let you use GIO locations instead of local
files: for example you can use something like
smb://server/resource/file.txt as location.
COMMANDS
help [COMMAND]
Displays a short synopsis of the available commands or provides
detailed help on a specific command.
version
Prints the GLib version to which gio belongs.
cat LOCATION...
Concatenates the given files and prints them to the standard
output.
The cat command works just like the traditional cat utility.
Note: just pipe through cat if you need its formatting options like
-n, -T or other.
copy [OPTION...] SOURCE... DESTINATION
Copies one or more files from SOURCE to DESTINATION. If more than
one source is specified, the destination must be a directory.
The copy command is similar to the traditional cp utility.
Options
-T, --no-target-directory
Don't copy into DESTINATION even if it is a directory.
-p, --progress
Show progress.
-i, --interactive
Prompt for confirmation before overwriting files.
--preserve
Preserve all attributes of copied files.
-b, --backup
Create backups of existing destination files.
-P, --no-dereference
Never follow symbolic links.
info [OPTION...] LOCATION...
Shows information about the given locations.
The info command is similar to the traditional ls utility.
Options
-w, --query-writable
List writable attributes.
-f, --filesystem
Show information about the filesystem that the given
locations reside on.
-a --attributes=ATTRIBUTES
The attributes to get.
Attributes can be specified with their GIO name, e.g.
standard::icon, or just by namespace, e.g. unix, or by '*',
which matches all attributes. Several attributes or groups
of attributes can be specified, separated by comma.
By default, all attributes are listed.
-n, --nofollow-symlinks
Don't follow symbolic links.
list [OPTION...] [LOCATION...]
Lists the contents of the given locations. If no location is given,
the contents of the current directory are shown.
The list command is similar to the traditional ls utility.
Options
-a --attributes=ATTRIBUTES
The attributes to get.
Attributes can be specified with their GIO name, e.g.
standard::icon, or just by namespace, e.g. unix, or by '*',
which matches all attributes. Several attributes or groups
of attributes can be specified, separated by comma.
By default, all attributes are listed.
-h, --hidden
Show hidden files.
-l, --long
Use a long listing format.
-n, --nofollow-symlinks
Don't follow symbolic links.
-u, --print-uris
Print full URIs.
mime MIMETYPE [HANDLER]
If no handler is given, the mime command lists the registered and
recommended applications for the mimetype. If a handler is given,
it is set as the default handler for the mimetype.
Handlers must be specified by their desktop file name, including
the extension. Example: org.gnome.gedit.desktop.
mkdir [OPTION...] LOCATION...
Creates directories.
The mkdir command is similar to the traditional mkdir utility.
Options
-p, --parent
Create parent directories when necessary.
monitor [OPTION...] [LOCATION...]
Monitors files or directories for changes, such as creation
deletion, content and attribute changes, and mount and unmount
operations affecting the monitored locations.
The monitor command uses the GIO file monitoring APIs to do its
job. GIO has different implementations for different platforms. The
most common implementation on Linux uses inotify.
Options
-d, --dir=LOCATION
Monitor the given location as a directory. Normally, the
file type is used to determine whether to monitor a file or
directory.
-f, --file=LOCATION
Monitor the given location as a file. Normally, the file
type is used to determine whether to monitor a file or
directory.
-D, --direct=LOCATION
Monitor the file directly. This allows to capture changes
made via hardlinks.
-s, --silent=LOCATION
Monitor the file directly, but don't report changes.
-n, --no-moves
Report moves and renames as simple deleted/created events.
-m, --mounts
Watch for mount events.
mount [OPTION...] [LOCATION...]
Provides commandline access to various aspects of GIOs mounting
functionality.
Mounting refers to the traditional concept of arranging multiple
file systems and devices in a single tree, rooted at /. Classical
mounting happens in the kernel and is controlle by the mount
utility. GIO expands this concept by introducing mount daemons that
can make file systems available to GIO applications without kernel
involvement.
GIO mounts can require authentication, and the mount command may
ask for user IDs, passwords, and so on, when required.
Options
-m, --mountable
Mount as mountable.
-d, --device=DEVICE
-u, --unmount
Unmount the location.
-e, --eject
Eject the location.
-s, --unmount-scheme=SCHEME
Unmount all mounts with the given scheme.
-f, --force
Ignore outstanding file operations when unmounting or
ejecting.
-a, --anonymous
Use an anonymous user when authenticating.
-l, --list
List all GIO mounts.
-o, --monitor
Monitor mount-related events.
-i, --detail
Show extra information.
move [OPTION...] SOURCE... DESTINATION
Moves one or more files from SOURCE to DESTINATION. If more than
one source is specified, the destination must be a directory.
The move command is similar to the traditional mv utility.
open LOCATION...
Opens files with the default application that is registered to
handle files of this type.
GIO obtains this information from the shared-mime-info database,
with per-user overrides stored in
$XDG_DATA_HOME/applications/mimeapps.list.
The mime command can be used to change the default handler for a
mimetype.
rename LOCATION NAME
Renames a file.
The rename command is similar to the traditional rename utility.
remove [OPTION...] LOCATION...
Deletes each given file.
This command removes files irreversibly. If you want a reversible
way to remove files, see the trash command.
Note that not all URI schemes that are supported by GIO may allow
deletion of files.
The remove command is similar to the traditional rm utility.
Options
-f, --force
Ignore non-existent and non-deletable files.
save [OPTION...] DESTINATION
Reads from standard input and saves the data to the given location.
This is similar to just redirecting output to a file using
traditional shell syntax, but the save command allows saving to
location that GIO can write to.
Options
-b, --backup
Backup existing destination files.
-c, --create
Only create the destination if it doesn't exist yet.
-a, --append
Append to the end of the file.
-p, --private
When creating, restrict access to the current user.
-u, --unlink
When replacing, replace as if the destination did not
exist.
-v, --print-etag
Print the new etag in the end.
-e, --etag=ETAG
The etag of the file that is overwritten.
set LOCATION ATTRIBUTE VALUE...
Allows to set a file attribute on a file.
File attributes can be specified with their GIO name, e.g
standard::icon. Note that not all GIO file attributes are writable.
Use the --query-writable option of the info command to list
writable file attributes.
If the TYPE is unset, VALUE does not have to be specified. If the
type is stringv, multiple values can be given.
Options
-t, --type=TYPE
Specifies the type of the attribute. Supported types are
string, stringv, bytestring, boolean, uint32, int32,
uint64, int64 and unset.
If the type is not specified, string is assumed.
-n, --nofollow-symlinks
Don't follow symbolic links.
trash [OPTION...] [LOCATION...]
Sends files or directories to the "Trashcan". This can be a
different folder depending on where the file is located, and not
all file systems support this concept. In the common case that the
file lives inside a users home directory, the trash folder is
$XDG_DATA_HOME/Trash.
Note that moving files to the trash does not free up space on the
file system until the "Trashcan" is emptied. If you are interested
in deleting a file irreversibly, see the remove command.
Inspecting and emptying the "Trashcan" is normally supported by
graphical file managers such as nautilus, but you can also see the
trash with the command: gio list trash://.
Options
-f, --force
Ignore non-existent and non-deletable files.
--empty
Empty the trash.
tree [OPTION...] [LOCATION...]
Lists the contents of the given locations recursively, in a
tree-like format. If no location is given, it defaults to the
current directory.
The tree command is similar to the traditional tree utility.
Options
-h, --hidden
Show hidden files.
-h, --hidden
Show hidden files.
-l, --follow-symlinks
Follow symbolic links.
EXIT STATUS
On success 0 is returned, a non-zero failure code otherwise.
SEE ALSO
cat(1), cp(1), ls(1), mkdir(1), mv(1), rm(1), tree(1).
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#9 Le 07/04/2018, à 09:42
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
ok ben c'est facile du coup:
gio set [OPTION...] LOCATION ATTRIBUTE VALUE...
et
SYNOPSIS
gvfs-set-attribute [OPTION...] {LOCATION} {ATTRIBUTE} {VALUE...}
si tu veux vraiment pas t’embêter tu change `gvfs-set-attribute` par `gio set` dans ton script:
pour faire simple tu copie la ligne à changer et tu met un # devant l'ancienne ligne elle resteras en commentaire comme ça.
tu fait le changement et tu sauvegarde.
tu teste le fichier.
j'édite pour te donné un trucs encore plus simple à testé si tu veux.
mail et moteur de recherche: Lilo
Hors ligne
#10 Le 07/04/2018, à 10:25
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Alors là je tombe sur le c... youssoufB
tu me règles ça en 2 coups de cuillère à pot, chapeau je suis impressionné, mais en même temps c'est normal que je le sois puisque je ne connais rien à la programmation, mais néanmoins tu as vu immédiatement ce qu'il fallait faire.
2 infos :
1-voici le même message qu'avant mais sans l'erreur cette fois, ça fait plaisir
gerard@PC4:~$ '/media/DATA-GG/0-ESSAI_ICONES_AUTO/scripts/scripts/Main.sh'
SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK
j'ai testé en changeant d'icône et ça a bien suivi
2- tu avais raison, c'est lié à Ubuntu Gnome car je suis passé via mon triple boot sur 16.04 et je n'avais pas cette fois le message d'erreur en gardant la version qui bugge sur 18.04
Affaire définitivement réglée, me voici tranquille pour la future 20.04
UN GRAND GRAND MERCI youssoufB
passe un très bon WE, tu l'as bien mérité
Dernière modification par winux (Le 08/04/2018, à 16:07)
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#11 Le 07/04/2018, à 10:29
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
j'édite pour te donné un trucs encore plus simple à testé si tu veux.
Oui volontiers, je suis toujours prêt à apprendre des trucs nouveaux et surtout plus simples !!
Merci je testerai
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#12 Le 07/04/2018, à 11:39
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
bon on vas débriefer au fur et à mesure:
toute les ligne avec # devant c'est des commentaires ça sert à rien dans le code comme les lignes vide. c'est simplement pour nous humain nous rappeler ce qui à été fait ou donnez des indication à d'autre.
seul la première ligne #!bin/bash est importantes car elle indique au système quelle programme doit lire le script (l'interprété).
bon on as 4 constantes (fichier constantes.sh):
BEGIN_FORMAT="\e[1;34m"
END_FORMAT="\e[0m"
DATA_PATH="/media/DATA-GG/0-ESSAI_ICONES_AUTO"
ICON_PATH="/media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux"
tout le reste c'est des commentaire et ligne d'espace.
BEGIN_FORMAT -> pour passer en bleu
END_FORMAT -> pour revenir au format par default.
ces deux constantes sont la pour changer la couleur sur la ligne te texte de ton terminal.
pour comprendre tape :
echo -e "je passe en\e[1;34m bleu puis retrourne avec la police par\e[0m defaut"
voila simple c'est utile le path dans les messages d'erreurs.
les deux autres c'est les répertoire qu'on vas manipulé mais tu dois déjà les connaître.
voila un fichier complet expliqué.
mail et moteur de recherche: Lilo
Hors ligne
#13 Le 07/04/2018, à 12:35
- Toobuntu
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Bonjour
Avec ce script les dossiers affichent les icônes personnalisées dans les 3 modes d'affichage liste , icones .... ?
#14 Le 07/04/2018, à 12:47
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
voila un fichier complet expliqué.
Merci youssoufB c'est très sympa de ta part, j’apprécie à sa juste valeur.
Allez je te lâche pour que tu puisses profiter du soleil, ce que je vais faire, après ces moments studieux
Dernière modification par winux (Le 07/04/2018, à 12:59)
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#15 Le 07/04/2018, à 12:56
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Bonjour
Avec ce script les dossiers affichent les icônes personnalisées dans les 3 modes d'affichage liste , icones .... ?
Salut
YESSSSS
Enfin Icônes et listes, les 2 seuls modes que je sache faire avec 18.04
Icônes
Listes
Dernière modification par winux (Le 07/04/2018, à 13:02)
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#16 Le 07/04/2018, à 13:48
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
pour ce qui est du main.sh
SCRIPT_PATH=$(dirname "$0");
source "${SCRIPT_PATH}/constantes.sh"
source "${SCRIPT_PATH}/functions.sh"
change_icone "${DATA_PATH}/trial" "${ICON_PATH}/Micronet.png"
echo "SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK"
les trois première lignes servent simplement à copier les fichers constantes et fonctions dans ce script.
si tu fait un copier collé des script constantes.sh et functions.sh tu peu supprimer ces trois ligne et tu n’auras au final qu’un script avec tout dedans vue la grosseur du script c'est pas plus mal. il ne faut pas copier la 1er ligne #!bin/bash ça ferrais triplons et respecté l'ordre car tu te sert des constantes dans fucntions.sh.
ensuite:
tu appelle la fonction change_icone définie dans fonction.sh on y reviendras.
tu te sert de tes constantes DATA_PATH et ICON_PATH qui sont en même temps complété.
ici pour être honète j'aurrais preféré voir directement
change_icone "${DATA_PATH}" "${ICON_PATH}"
avec dans constantes.sh
DATA_PATH="/media/DATA-GG/0-ESSAI_ICONES_AUTO/trial"
ICON_PATH="/media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png"
plutôt que:
DATA_PATH="/media/DATA-GG/0-ESSAI_ICONES_AUTO"
ICON_PATH="/media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux"
enfin:
tu affiche (echo) le message "SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK" .
tu peu tapez la commande directement dans le terminal.
echo "SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK"
mais la aucun programme avant c'est juste un message que tu affiche. Tu devrais même pouvoir l’écrire en bleu maintenant!
mail et moteur de recherche: Lilo
Hors ligne
#17 Le 07/04/2018, à 14:10
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
function.sh 1/2
function doesFileExist(){
fileToTest=$1
# Le répertoire ou le fichier existe t'il
if [[ -d $fileToTest || -f $fileToTest ]] ; then
return 0;
else
return 1;
fi
}
on as un fonction qu'on appelle doesFileExist() qui vas executé le code qui lui est assigné entre { et }. elle vérifié si le paramètre est un ficher ou un dossier et retourn 0 sinon elle retourne 1.
mail et moteur de recherche: Lilo
Hors ligne
#18 Le 07/04/2018, à 14:28
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
function.sh 2/2
function change_icone(){
sourceToChange=$1
iconPath=$2
doesFileExist "$sourceToChange"
if [[ $? == 1 ]]; then
echo -e "Le fichier SOURCE ${BEGIN_FORMAT} ${sourceToChange} ${END_FORMAT} n'existe pas"
return 1;
fi
doesFileExist "$iconPath"
if [[ $? == 1 ]]; then
echo -e "Le fichier ICONE ${BEGIN_FORMAT} ${iconPath} ${END_FORMAT} n'existe pas"
return 1;
fi
#ligne suivante est déprécié
#gvfs-set-attribute "${sourceToChange}" metadata::custom-icon "file://${iconPath}"
gio set "${sourceToChange}" metadata::custom-icon "file://${iconPath}"
}
finalement le code intérésant:
le variable:
sourceToChange = le premier paramètre = "/media/DATA-GG/0-ESSAI_ICONES_AUTO/trial"
iconPath = le second paramètre = "/media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png"
on vérifie si /media/DATA-GG/0-ESSAI_ICONES_AUTO/trial avec la fonction doesFileExist:
s'il n'existe pas la fonction retourne 1 puis
on affiche le message tu peu remarqué l'utilisation du bleu
et on sort de le fonction change_icon du coup on se retrouve dans main.
puis la même chose pour /media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png
finalement si les chemein de repertoire et fichier sont correcte on effectue ta commande
gio set "/media/DATA-GG/0-ESSAI_ICONES_AUTO/trial" metadata::custom-icon "file:///media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png"
si tu sait que tes chemin sont bon tu pourrais ecrire la commande si dessus cela aurrais le même resultat que tes trois fichiers.
Dernière modification par youssoufB (Le 07/04/2018, à 14:32)
mail et moteur de recherche: Lilo
Hors ligne
#19 Le 07/04/2018, à 15:19
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
bref tout ça pour dire que tu devrais pouvoir sans gros problème écrire ton script comme ça:
#!/bin/bash
# un script pour personnalisé mes icones
location="/media/DATA-GG/0-ESSAI_ICONES_AUTO/trial"
value="file:///media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux/Micronet.png"
#avant 18.04
# gvfs-set-attribute $location metadata::custom-icon $value
#depuis 18.04
gio set $location metadata::custom-icon $value
je l'ai écrit vite fais à la main pour vérifié essaye avec un répertoire qui n'existe pas je pense qu'il devrais y avoir un message pour te dire que ce répertoire est invalide. c'est plus claire et au moin tu sais ce que ça fait pour l'entretiens c'est plus facile.
si tu veu tu peu rajouter des note dans le fichier ou tu veu comme ça:
#-------------------------------------------------------------
# ici je met une note
# le cadre n'est pas obligatoire mais ça fait jolie
#------------------------------------------------------------
j'ai une culture développeur, pas du tout marketing sinon ça t’aurais coûté un bras.
Et puis en plus tu as appris le Chinois.
Dernière modification par youssoufB (Le 07/04/2018, à 15:23)
mail et moteur de recherche: Lilo
Hors ligne
#20 Le 07/04/2018, à 15:40
- erresse
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Le script principal est main.sh
je l'ai ultra simplifié pour qu'il ne reste qu'un seul dossier à personnaliser.
J'ai remplacé DATA-GG par DATA-GG/ESSAI_ICONES_AUTO
Dans son message #1, winux nous déclare avoir modifié le script original pour ne traiter qu'un seul répertoire, ce qui ne justifie pas l'utilisation d'un script pour changer une icône sur un répertoire, évidemment...
Je pense que l'intérêt du script est de faire automatiquement cette opération sur tous les répertoires et, dans ce cas, le script se justifie pleinement !
Pour mieux comprendre le fonctionnement du script original, winux peut-il détailler de quelle manière il retrouve les bonnes icônes selon les répertoires considérés ?
Je suppose que les icônes ont un nom correspondant à celui du répertoire afin d'apparier l'image et l'objet.
Genre : répertoire "Documents" <==> icône personnalisé "Documents" dans la bibliothèque d'images.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#21 Le 07/04/2018, à 18:23
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Merci pour tout youssoufB je vais me lancer en reprenant tout ça calmement pas à pas, en essayant d’améliorer le script du copain. Il y aura un peu de toi dedans !!
j'ai une culture développeur, pas du tout marketing sinon ça t’aurais coûté un bras.
Et puis en plus tu as appris le Chinois.
Alors on se complète. Je donne des cours Ubuntu en tant que bénévole (un peu comme toi !!) à des niveaux intermédiaires (évidemment pas des développeurs) et ça passe bien en Power Point, ils progressent, mais avec toi c'est un gros cran au-dessus !!
Oui oui le Chinois va aller mieux, encore merci pour tout
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#22 Le 07/04/2018, à 19:13
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
A mon tour de filer un coup de main, dans la limite de mes possibilités !
Dans son message #1, winux nous déclare avoir modifié le script original pour ne traiter qu'un seul répertoire, ce qui ne justifie pas l'utilisation d'un script pour changer une icône sur un répertoire, évidemment...
Bien sûr que non, c'est juste pour, sur une seule entité, faire les essais sans polluer ma base principale.
Le script est tout à fait justifié dans la mesure où j'ai une centaine de dossiers à personnaliser par des icônes qui indiquent tout de suite de quoi il retourne.
Avec ce script tous les dossiers sont métamorphosés visuellement en l'espace de quelques secondes, à la papatte ce n'est même pas envisageable car il faut le refaire à chaque nouvelle installe d'Ubuntu, c'est-à-dire tous les 2 ans pour les LTS.
Je pense que l'intérêt du script est de faire automatiquement cette opération sur tous les répertoires et, dans ce cas, le script se justifie pleinement !
c'est exactement ça
Pour mieux comprendre le fonctionnement du script original, winux peut-il détailler de quelle manière il retrouve les bonnes icônes selon les répertoires considérés ?
Je te fais un extrait du main pour que voies la philosophie, sachant que :
comme je l'ai déjà dit la base d'icônes se trouve dans le dossier
/media/DATA-GG/5-ICONES Win-Lin SOURCE/Linux
et que j'ai déjà détaillé les scripts au post #1
constante.sh
functions.sh, cette dernière ayant subi la modif de notre développeur chef !
#!/bin/bash
#Récupère le chemin de lancement du script Main.sh
SCRIPT_PATH=$(dirname "$0");
#Inclusion de fichier
source "${SCRIPT_PATH}/constantes.sh"
source "${SCRIPT_PATH}/functions.sh"
# Mettre ici l'ensemble des commandes
# SOUS /DATA-GG
# Icônes sous "DATA-GG"
change_icone "${DATA_PATH}/1-Perso" "${ICON_PATH}/GeGe1.jpg"
change_icone "${DATA_PATH}/2-Photos GG" "${ICON_PATH}/Photos.png"
change_icone "${DATA_PATH}/3-Videos GG" "${ICON_PATH}/Videos.png"
change_icone "${DATA_PATH}/4-Musique GG" "${ICON_PATH}/Musique.png"
change_icone "${DATA_PATH}/5-ICONES Win-Lin SOURCE" "${ICON_PATH}/Icônes win-lin.png"
change_icone "${DATA_PATH}/6-Tools" "${ICON_PATH}/Tools.png"
change_icone "${DATA_PATH}/8-Alcatel archives GG" "${ICON_PATH}/Alcatel.png"
change_icone "${DATA_PATH}/Mes Documents" "${ICON_PATH}/Mes Documents.png"
# Icônes sous "DATA-GG/2-Photos GG"
change_icone "${DATA_PATH}/2-Photos GG/1-Années Famille Amis" "${ICON_PATH}/1-FAMILLE Amis.jpg"
change_icone "${DATA_PATH}/2-Photos GG/1-Années Famille Amis/1-Années" "${ICON_PATH}/calendrier.png"
change_icone "${DATA_PATH}/2-Photos GG/1-Années Famille Amis/2-Amis Famille" "${ICON_PATH}/Amis.jpg"
change_icone "${DATA_PATH}/2-Photos GG/1-Années Famille Amis/3-Gerard" "${ICON_PATH}/GeGe2.jpg"
change_icone "${DATA_PATH}/2-Photos GG/1-Années Famille Amis/2-Amis Famille/Amis" "${ICON_PATH}/Amis.jpg"
change_icone "${DATA_PATH}/2-Photos GG/1-Années Famille Amis/2-Amis Famille/Famille" "${ICON_PATH}/1-FAMILLE Amis.jpg"
change_icone "${DATA_PATH}/2-Photos GG/2-Axou & Roxane" "${ICON_PATH}/Axou et Roxane-2.jpg"
change_icone "${DATA_PATH}/2-Photos GG/2-Axou & Roxane/Axou & Roxane en famille" "${ICON_PATH}/Axou et Roxane-1.jpg"
change_icone "${DATA_PATH}/2-Photos GG/2-Axou & Roxane/Axou seul avant Roxane" "${ICON_PATH}/Axou.png"
change_icone "${DATA_PATH}/2-Photos GG/3-Pat Nat" "${ICON_PATH}/Pat Nat.png"
change_icone "${DATA_PATH}/2-Photos GG/Grands voyages à l'étranger" "${ICON_PATH}/Voyages.png"
echo "SI AUCUN MESSAGE D'ERREUR EN BLEU : TOUT EST OK"
Dernière modification par winux (Le 07/04/2018, à 19:17)
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#23 Le 08/04/2018, à 08:00
- erresse
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Ha, d'accord, tu peux donc avoir plusieurs fois la même icône pour des répertoires/sous-répertoires différents...
Donc tu tiens une liste exhaustive de tous tes répertoires dans ce script, avec pour chacun l'image équivalente à assigner. OK.
Merci de tes éclaircissements, j'avais pour ma part pensé que chaque icône était unique pour un répertoire donné et qu'elle portait le même nom que le répertoire, ce qui aurait permis de les apparier sans devoir lister chaque objet.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#24 Le 08/04/2018, à 08:39
- winux
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
Exact, tu fais les combinaisons que tu veux : un dossier <--> une icône sans limitation, c'est très souple.
Je peux te dire que c'est super, d'un seul coup d’œil je retrouve immédiatement chaque dossier et ses sous-dossiers.
En fait c'est un gros boulot au départ (mais tu ne fais pas tout d'un coup, tu commences par les plus importants et tu complètes au fur et à mesure), mais une fois que tu as établi ta base de données, tu n'as plus qu'à gérer les modifs, d'autant que les messages d'erreur t'aident bien
- que ce soit le fichier manquant OU
- l'icône manquante
Et tu as confirmation que tout va bien si aucun message en bleu ne s'affiche
quand par exemple tu supprimes un dossier et que tu oublies de mettre à jour ta base de données, c'est très facile à retrouver, il te dit où est le manquant, il suffit alors de le supprimer de la base.
A nouveau je ne suis qu'utilisateur, tout le mérite revient à mon copain parti à l'étranger, mais youssefB l'a bien remplacé pour régler le petit Pb qui m'était tombé dessus.
Pour YousssefB, j'ai fait l'essai avec la 16.04, pas de Pb, rien à changer, c'est une Unity
les ennuis ont commencé avec la 18.04 qui elle est une Gnome et pour laquelle il faut utiliser gio set.
Voilà une aventure qui se termine bien avec beaucoup de choses apprises au passage.
Bon WE ensoleillé et peut-être aussi bon Marathon de Paris, mais ça c'est une autre affaire !
http://i3.tinypic.com/4g8nio8.png
Livebox fibre - 980 Mbps mesurés - Triple boot : Ub 20.04 / Mint 20.2 / W10 - Ecran : Samsung 22" -
CM : Gigabyte P67A UD3 B3 - CPU : Intel Quad Core i5 3.3 GHz - GPU : nVidia Gigabyte N430
RAM : 8 Go DDR3 - SSD de 240 Go - 2 HD de 1 To chacun
Hors ligne
#25 Le 08/04/2018, à 10:26
- youssoufB
Re : [RÉSOLU] Génération auto des icônes personnalisées de mes dossiers
le problème serrais si tu essais de faire tourné ton script modifier sur une 16.04.
chez moi gio n'est pas installer du coup il pourrais plus s’exécuter et il faudrait repasser avec la commande gvfs-set-attribute.
Sinon vue comment tu te sert du programme c'est bien rien à changer ou ce serrais pinailler. ton amis à bien travailler.
mail et moteur de recherche: Lilo
Hors ligne