#!/bin/bash # Script d'assistance à la modification des images du thème Clearlooks-Phénix # dans le but de créer une variante de couleurs. # # Placer ce script à la racine du thème (c'est-à-dire au même emplacement que # le fichier «index.theme»), personnaliser la section «Variables à modifier.» # et lancer le script dans une console: # # $ bash images.sh ######################################################################## ## ## Variables à modifier. ## ######################################################################## # Variation de la luminosité, de la saturation et de la teinte des fichiers PNG # pour le style «hover». Pour plus de détails, voir le lien suivant: # . pngVariation=100,100,300 # Liste des fichiers SVG. # Fichiers SVG à modifier pour une variante de couleurs. # Fichier «border-focused.svg». svgBfCouleurBordure=4b6e99 svgBfCouleurBordureInterne=c8daef svgBfCouleurBordureExterneBas=ffffff # Fichier «border-focused-ptb.svg». svgBfPtbCouleurBordure=869bb7 svgBfPtbCouleurBordureInterne=cccccc # Fichier «border-focused-switch.svg». svgBfScouleurBordure=4b6e99 svgBfScouleurBordureExterneBas=ffffff # Fichiers SVG ne devant pas nécessairement être modifiés pour une variante # de couleurs. # Fichier «border.svg». svgBcouleurBordure=918e8c svgBcouleurBordureExterneBas=ffffff # Fichier «border-error.svg». svgBeCouleurBordure=9b3636 svgBeCouleurBordureExterneBas=ffffff # Fichier «border-gnome-panel-button.svg». svgBgPbCouleurBordure=918e8c # Fichier «border-inline-button.svg». svgBiBcouleurBordure=918e8c svgBiBcouleurBordureExterneBas=ffffff # Fichier «border-insensitive.svg». svgBiCouleurBordure=a9a5a2 svgBiCouleurBordureExterneBas=ffffff ######################################################################## ## ## Code principal. Ne pas modifier. ## ######################################################################## # Dépendances. if ! type convert > /dev/null 2>&1; then echo "Veuillez installer le paquet «imagemagick»" >&2 exit 1 fi if ! type sed > /dev/null 2>&1; then echo "Veuillez installer le paquet «sed»" >&2 exit 1 fi # Dossier de sauvegarde des images modifiées. dossierSauv=gtk-3.0/img/modif i=0 while ! mkdir "$dossierSauv" > /dev/null 2>&1 && ((i < 100)); do ((++i)) dossierSauv=gtk-3.0/img/modif-$i done if [[ ! -d $dossierSauv ]]; then echo "Impossible de créer un dossier de sauvegarde pour y déplacer les images modifiées." >&2 exit 1 fi # Modification des images PNG. png=( gtk-3.0/img/checkbox-checked-hover.png gtk-3.0/img/checkbox-mixed-hover.png gtk-3.0/img/checkbox-unchecked-hover.png gtk-3.0/img/menuitem-checkbox-checked-hover.png gtk-3.0/img/menuitem-checkbox-hover.png gtk-3.0/img/menuitem-checkbox-mixed-hover.png gtk-3.0/img/menuitem-radio-checked-hover.png gtk-3.0/img/menuitem-radio-hover.png gtk-3.0/img/radio-checked-hover.png gtk-3.0/img/radio-mixed-hover.png gtk-3.0/img/radio-unchecked-hover.png ) for image in "${png[@]}"; do convert "$image" -modulate "$pngVariation" "$dossierSauv/${image##*/}" done # Modification des images SVG. couleur1=918e8c couleur2=ffffff if [[ $svgBcouleurBordure != $couleur1 \ || $svgBcouleurBordureExterneBas != $couleur2 ]]; then fichier=gtk-3.0/img/border.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBcouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBcouleurBordureExterneBas;/" "$dossierSauv/${fichier##*/}" fi couleur1=9b3636 couleur2=ffffff if [[ $svgBeCouleurBordure != $couleur1 \ || $svgBeCouleurBordureExterneBas != $couleur2 ]]; then fichier=gtk-3.0/img/border-error.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBeCouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBeCouleurBordureExterneBas;/" "$dossierSauv/${fichier##*/}" fi couleur1=4b6e99 couleur2=c8daef couleur3=ffffff if [[ $svgBfCouleurBordure != $couleur1 || $svgBfCouleurBordureInterne != $couleur2 \ || $svgBfCouleurBordureExterneBas != $couleur3 ]]; then fichier=gtk-3.0/img/border-focused.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBfCouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBfCouleurBordureInterne;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur3;/#$svgBfCouleurBordureExterneBas;/" "$dossierSauv/${fichier##*/}" fi couleur1=869bb7 couleur2=cccccc if [[ $svgBfPtbCouleurBordure != $couleur1 \ || $svgBfPtbCouleurBordureInterne != $couleur2 ]]; then fichier=gtk-3.0/img/border-focused-ptb.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBfPtbCouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBfPtbCouleurBordureInterne;/" "$dossierSauv/${fichier##*/}" fi couleur1=4b6e99 couleur2=ffffff if [[ $svgBfScouleurBordure != $couleur1 \ || $svgBfScouleurBordureExterneBas != $couleur2 ]]; then fichier=gtk-3.0/img/border-focused-switch.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBfScouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBfScouleurBordureExterneBas;/" "$dossierSauv/${fichier##*/}" fi couleur1=918e8c if [[ $svgBgPbCouleurBordure != $couleur1 ]]; then fichier=gtk-3.0/img/border-gnome-panel-button.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBgPbCouleurBordure;/" "$dossierSauv/${fichier##*/}" fi couleur1=918e8c couleur2=ffffff if [[ $svgBiBcouleurBordure != $couleur1 \ || $svgBiBcouleurBordureExterneBas != $couleur2 ]]; then fichier=gtk-3.0/img/border-inline-button.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBiBcouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBiBcouleurBordureExterneBas;/" "$dossierSauv/${fichier##*/}" fi couleur1=a9a5a2 couleur2=ffffff if [[ $svgBiCouleurBordure != $couleur1 \ || $svgBiCouleurBordureExterneBas != $couleur2 ]]; then fichier=gtk-3.0/img/border-insensitive.svg cp "$fichier" "$dossierSauv" sed -i "s/#$couleur1;/#$svgBiCouleurBordure;/" "$dossierSauv/${fichier##*/}" sed -i "s/#$couleur2;/#$svgBiCouleurBordureExterneBas;/" "$dossierSauv/${fichier##*/}" fi # Fin du script. echo "Les images ont été modifiées."