#!/bin/bash ######################################################################################################### # Description: Permet une restauration/sauvegarde des tableaux de bord Gnome. (gnome-panel) # # Dépendances: zenity; # # Auteur: Baz00 # # Contact: http://urlalacon.com/z0gXJ6 # # Version: 0.3.1 # # Licence: GPL # ######################################################################################################### NOM_SCRIPT="Restauration/Sauvegarde gnome-panel" ######################################################################################################### function annuler { if [ "$?" != "0" ]; then exit 0 fi } ######################################################################################################### function choix { # On regarde si les panels sont vérrouillées ou pas, puis on affiche la fenêtre de choix en fonction: LOCK=$(gconftool-2 --get /apps/panel/global/locked_down) if [ "$LOCK" = "false" ]; then ACTION=$(zenity --list --radiolist --width=500 --height=210 --hide-column="2" \ --title "$NOM_SCRIPT" \ --text="Sélectionnez l'action à effectuer :" \ --column="Choix" --column "Correspondance" --column="Description" \ " " "restauration" "Restaurer mon ancienne configuration" \ " " "sauvegarde" "Sauvegarder ma configuration actuelle" \ " " "verrouillage" "Verrouiller ma configuration actuelle" \ " " "defaut" "Charger les réglages par défaut"\ ) annuler LOCK=1 else ACTION=$(zenity --list --radiolist --width=500 --height=210 --hide-column="2" \ --title "$NOM_SCRIPT" \ --text="Sélectionnez l'action à effectuer :" \ --column="Choix" --column "Correspondance" --column="Description" \ " " "restauration" "Restaurer mon ancienne configuration" \ " " "sauvegarde" "Sauvegarder ma configuration actuelle" \ " " "verrouillage" "Déverrouiller ma configuration actuelle" \ " " "defaut" "Charger les réglages par défaut"\ ) annuler LOCK=0 fi #Si une case a été cochée on effectue l'action, sinon on affiche un message d'erreur: if [ "$ACTION" = "restauration" ] || [ "$ACTION" = "sauvegarde" ] || [ "$ACTION" = "defaut" ] || [ "$ACTION" = "verrouillage" ]; then $ACTION else zenity --info --title="$NOM_SCRIPT" --text="Aucune action selectionnée." choix fi } ######################################################################################################### function restauration { test -e $HOME/.panel.bak/panelsettings.bak if [ "$?" != "0" ]; then zenity --info \ --title="$NOM_SCRIPT" \ --text="Échec de la restauration:\n-Aucun fichier de restauration disponible. \ \n\n(Vous devez avoir effectué une sauvegarde au préalable pour que la restauration puisse fonctionner.)" choix else gconftool-2 --recursive-unset /apps/panel gconftool-2 --load $HOME/.panel.bak/panelsettings.bak pkill -SIGHUP gnome-panel zenity --info \ --title="$NOM_SCRIPT" \ --text="La sauvegarde de vos règlages de gnome-panel a été restauré. \ \n\nRecommencez cette action si certains réglages ont été ignorés." choix fi } ######################################################################################################### function sauvegarde { cd $HOME/.panel.bak if [ "$?" != "0" ]; then mkdir $HOME/.panel.bak cd $HOME/.panel.bak fi gconftool-2 --dump /apps/panel > $HOME/.panel.bak/panelsettings.bak zenity --info \ --title="$NOM_SCRIPT" \ --text="Les réglages actuelles de gnome-panel ont été sauvegardés." choix } ######################################################################################################### function defaut { gconftool-2 --recursive-unset /apps/panel pkill -SIGHUP gnome-panel zenity --info \ --title="$NOM_SCRIPT" \ --text="Les réglages par défaut de gnome-panel ont été appliqués." choix } ######################################################################################################### function verrouillage { gconftool-2 --type bool --set /apps/panel/global/locked_down "$LOCK" choix } ######################################################################################################### #On affiche la fenêtre de choix des actions: choix