Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Applets | Applets Script utilisant api dbus de cairo-dock permettant de contoler Portage (Didtribution Gentoo)
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Applets | Applets

Subjects Author Language Messages Last message
[Locked] Script utilisant api dbus de cairo-dock permettant de contoler Portage (Didtribution Gentoo)
Duduledotcom Français 3 nochka85 [Read]
18 June 2010 à 23:17

Duduledotcom, Friday 18 June 2010 à 17:37


Subscription date : 18 June 2010
Messages : 11
Bonjour,

Je viens de réaliser un script pour gentoo qui m'est bien utile.
Je me permet de le poster au cas où ça pourrait être utile a d'autres personnes.

C'est mon premier script soyez indulgent.
Toutes améliorations sont les bienvenues.

Au revoir

Sauvegardez votre fichier world on ne sait jamais /var/lib/portage/world


#!/bin/bash +x

#########################################################################################
# Auteur : Jacky Buisine
#
# Distribution : Gentoo
#
# Intallation : Ajouter un applet personnalisé
#         Indiqué emerge.sh précédé du répertoire dans lequel le script se trouve
#
# Contact : Jacky (point) buisine__ (attt) ___ gmail [dot] com
#
#########################################################################################

#
# Définition des textes de dialogues
#

nom_icone="portage"
duree_dialogue=10

# Cairo_dialog
text_1="Synchronistation_de_Portage..."
text_2="Portage_Synchronisé!!!"
text_3="Recherche_de_mises_à_jour..."
text_4="Liste_des_mises_à_jour_disponibles!!!"
text_5="Installation_en_cours..."
text_6="Installation_terminée!!!"
text_7="Emerge_--depclean_en_cours..."
text_8="Revdep_rebuild..."

#Fonction


function Cairo_dialog
{
dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.ShowDialog string:$1 int32:$3 string:$2 string:none string:none
}

function Cairo_animate
{
        dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.Animate string:$1 int32:$3 string:$2 string:none string:none
}

function Cairo_quick_info
{
    dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.SetQuickInfo string:$1 string:$2 string:none string:none
}

nCommande=$(zenity --list \
--text="Portage" \
--radiolist \
--column="Choix" \
--column="N°" \
--column="Actions" \
    TRUE "1" "Mise à Jour" \
    FALSE "2" "Installer Application" \
    FALSE "3" "Supprimer Application" \
    FALSE "4" "Nettoyage Portage" \
--print-column=2 \
--separator=":" --height=300 --width=400)

case $nCommande in

    ##########################################################
    # Synchronisation de portage et Recherche de mises à jour#
    ##########################################################

    1)

        Cairo_animate "pulse" $nom_icone 12400    
        Cairo_quick_info 'Sync' $nom_icone         
        zenity --question --text="Voulez-vous effectuer la mise à jour de Portage"
        if [ $? = "0" ]
         then            
            sudo emerge --sync
            sudo layman -S
            Cairo_dialog "Portage_Synchronisé_Avec_Succés!!!" $nom_icone 10    
        fi

        Cairo_quick_info 'Update' $nom_icone         
            
            sudo emerge -pv --update --deep --newuse world > update.log
            zenity --text-info --width=500 --height=600 --filename update.log
            
        Cairo_animate "pulse" $nom_icone 0    
        
        zenity --question --text="Voulez-vous lancer la mise à jour"
        if [ $? = "0" ]
         then
            Cairo_animate "fire" $nom_icone 12400
                sudo emerge --update --deep --newuse world
                sudo cat /var/log/emerge.log|tac|grep successfully| head -1 > error.log
                zenity --text-info --filename=error.log
                Cairo_dialog "Mise_à_Jour_Terminée_Avec_Succès!!!" $nom_icone 10    
            Cairo_animate "fire" $nom_icone 0

        fi
        
    ;;

    ############################################    
    # Recherche et installation d'applications #
    ############################################

    2)
        Cairo_quick_info 'Recherche' $nom_icone     
        Rech_appl=$(zenity --entry --text="Nom de l'application recherchée.")
        echo $Rech_appl
        emerge --search $Rech_appl|grep "* "|sed 's/*/FALSE/' > recherche.log
        liste=$(cat recherche.log|grep -v Masked|xargs zenity --list --checklist --column="Choix" --column="Nom" --width=500 --height=600 --separator=" ")

        zenity --question --text="Voulez-vous installer les applications sélectionnées"
        if [ $? = "0" ]
         then
            Cairo_animate "rotate" $nom_icone 12400
            Cairo_quick_info 'emerge' $nom_icone
                Cairo_quick_info 'Installer' $nom_icone    
                sudo emerge $liste
                sudo cat /var/log/emerge.log|tac|grep successfully| head -1 > error.log
                zenity --text-info --filename=error.log
                Cairo_dialog "Installation_Terminée_Avec_Succès!!!" $nom_icone 10    
                
        fi
    ;;
    3)

    ############################################    
    # Suppression d'applications          #
    ############################################

        liste=$(sudo cat /var/lib/portage/world|sed 's/^/FALSE /'|xargs zenity --list --checklist --column="Choix" --column="Nom" --separator=" " --height=500 --width=600)
        zenity --question --text="Voulez-vous supprimer les applications sélectionnées"
        if [ $? = "0" ]
        then                
            Cairo_animate "fire" $nom_icone 12400
            Cairo_quick_info 'Désinstaller' $nom_icone
            sudo emerge --unmerge $liste
            Cairo_dialog "Suppression_Terminée_Avec_Succès!!!" $nom_icone 10
        fi
    ;;

    ############################################    
    # Nettoyage de Portage             #
    ############################################    

    4)
        Cairo_animate "storm" $nom_icone 12400
        Cairo_quick_info 'depclean_-p' $nom_icone     
        emerge -p --depclean > depclean.log
        zenity --text-info --filename=depclean.log --width=500 --height=600
        zenity --question --text="Voulez-vous nettoyer les dépendances obsolétes ???"
        if [ $? = "0" ]
         then
            Cairo_animate "rain" $nom_icone 12400
            Cairo_quick_info 'depclean' $nom_icone     
                sudo emerge --depclean
            Cairo_quick_info 'revdep' $nom_icone     
            Cairo_animate "stars" $nom_icone 12400    
                sudo revdep-rebuild
            Cairo_dialog "Nettoyage_Terminé_Avec_Succès!!!" $nom_icone 10
        fi
    ;;
esac
Cairo_animate "firework" $nom_icone 5
Cairo_quick_info '' $nom_icone         


matttbe, Friday 18 June 2010 à 22:05


Subscription date : 24 January 2009
Messages : 12573
Hello,

Merci pour le partage, ça peut tjs servir aux Gentooistes . (Ça servirait encore plus si c'était en Anglais).

Mais c'est bien un script et pas une applet externe (comme Calendar ou WindowsKiller par exemple) sinon ça pourrait faire partie des applets externes

En passant, quelle version du dock utilises-tu et comment l'as-tu installé? Car j'ai eu et j'ai tjs bcp du mal à "faire" maintenir les overleys/ebuilds, il y a plusieurs versions, une fois c'est un tel qui upload les modif, une fois il faut qu'un autre soit là, etc.
Normalement, ça devrait être bon ce WE, en tous cas de ce côté.

PS: j'ai modifié ton adresse mail, sauf si tu aimes les spams, tu peux la remettre

Duduledotcom, Friday 18 June 2010 à 23:13


Subscription date : 18 June 2010
Messages : 11
Salut,

C'est bien un script. J'ai bien essayer de transformer ce script en applet mais je n'y suis pas encore arriver !!!
Pour l'installer, j'ai simplement créer un lanceur personnalisé.
Dans le champs "commande à exécuter au click", j'ai spécifier le nom du script précéder de "./" (si le script se trouve à la racine du home/$user. Chez moi ça tourne nickel
Il faut aussi modifier le nom du lanceur dans le script lui même

J'utilise la version 2.1.3-9 du dock

J'ai utilisé la version de l'overlay desktop-effects.

Permettez moi de vous dire que vous faites un excellent travail, j'ai passé pas mal de temps configurer le dock pour arriver enfin à un résultat qui me satisfait totalement.

J'espère que le dock va encore progresser. J'ai à ce titre quelques idées du genre, un equaliseur qui serait visible dans le dock lors de l'ecoute de musique.
Je ne sais pas si cela est réalisable mais ça serait super !

Je te remercie pour le changment de mon adresse

Encore merci! a bientôt


nochka85, Friday 18 June 2010 à 23:17


Subscription date : 29 November 2007
Messages : 7408
un equaliseur qui serait visible dans le dock lors de l'ecoute de musique.


Et si quelqu'un fait çà, je veux bien reprendre le code pour l'equalizer qui ferait "danser" les icônes du dock !

Applets | Applets

Subjects Author Language Messages Last message
[Locked] Script utilisant api dbus de cairo-dock permettant de contoler Portage (Didtribution Gentoo)
Duduledotcom Français 3 nochka85 [Read]
18 June 2010 à 23:17


Glx-Dock / Cairo-Dock List of forums Applets | Applets Script utilisant api dbus de cairo-dock permettant de contoler Portage (Didtribution Gentoo) Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.