logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:tawal:scripts:switch-on-off-dans-le-systray [11/05/2023 00:26]
Tawal [Images icônes]
utilisateurs:tawal:scripts:switch-on-off-dans-le-systray [12/05/2023 21:06]
Tawal [Le script]
Ligne 2: Ligne 2:
  
   * Nécessite //yad// : ''​apt install yad''​   * Nécessite //yad// : ''​apt install yad''​
-  * Nécessite //​inotifywait//​ : ''​apt install intofy-tools+  * Nécessite //​inotifywait//​ : ''​apt install intofy-tools''​
   * Une icône dans le systray   * Une icône dans le systray
   * Un clic gauche bascule l'​état de l'​icône   * Un clic gauche bascule l'​état de l'​icône
Ligne 9: Ligne 9:
   * Possibilité de coder les actions (on et off) dans le script ou d'​utiliser le fichier pour gérer les actions.   * Possibilité de coder les actions (on et off) dans le script ou d'​utiliser le fichier pour gérer les actions.
  
-===== Le script ​=====+===== Les scripts (2 versions) ​=====
  
-Il s'​appuie sur le mode notification de //yad//.+Il s'​appuie sur le mode notification de //yad//.\\
 Dans le chapitre "​Images icônes",​ vous trouverez des fichiers images pour les icônes ON et OFF. Dans le chapitre "​Images icônes",​ vous trouverez des fichiers images pour les icônes ON et OFF.
-<file bash systray_switch>+\\ 
 +== Version avec fichier d'​état. == 
 +//​(Possibilité de mettre les instructions dans le script ou de faire un script extérieur qui viendra lire le fichier d'​état.//​\\ 
 +<file bash systray_switch_with_file>
 #!/bin/bash #!/bin/bash
  
Ligne 27: Ligne 30:
 { {
    local s="​inotifywait -qme close_write ${Switch//​\//​\\\\/​}"​    local s="​inotifywait -qme close_write ${Switch//​\//​\\\\/​}"​
-   kill -15 "$(ps -ef | awk -vs="​$s"​ '$0 ~ s && !/grep/{print $2}'​)"​+   kill -15 "$(ps -ef | awk -vs="​$s"​ '$0 ~ s && !/awk/{print $2}'​)"​
 } }
  
Ligne 72: Ligne 75:
 # command = switch direct sur clic gauche de la souris # command = switch direct sur clic gauche de la souris
 yad --notification ​                                                   \ yad --notification ​                                                   \
-    --text "Musique écran éteint" ​                                    \+    --text "Texte de la bulle au survol de la souris" ​                                    \
     --icon-size 64                                                    \     --icon-size 64                                                    \
     --no-middle ​                                                      \     --no-middle ​                                                      \
Ligne 80: Ligne 83:
 </​file>​ </​file>​
  
 +== Version sans fichier d'​état ==
 +//(oblige de mettre les instruction On/Off dans ce script).//​\\
 +<file bash systray_switch_without_file>​
 +#!/bin/bash
 +
 +### Variables Customisables.
 +Icon_Off="/​home/​tawal/​Images/​Icônes/​switch-off.png"​
 +Icon_On="/​home/​tawal/​Images/​Icônes/​switch-on.png"​
 +
 +### Créations des canaux de communication
 +mkfifo fifo fifo2
 +exec 8<>​fifo 4>fifo 5<fifo 8>&-
 +exec 9<>​fifo2 6>fifo2 7<fifo2 9>&-
 +rm fifo fifo2
 +
 +fd4="/​proc/​$$/​fd/​4"​
 +fd5="/​proc/​$$/​fd/​5"​
 +fd6="/​proc/​$$/​fd/​6"​
 +
 +### Initialisation de l'​état de l'​icône.
 +echo "​OFF"​ >&4
 +echo "​icon:​$Icon_Off"​ >&6
 +
 +### Fonctions.
 +_quit ()
 +{
 +   exec 6>"​$1"​
 +   echo "​EOF"​ >&6
 +}
 +
 +_switch ()
 +{
 +   local etat
 +   exec 4>"​$1"​ 5<"​$2"​ 6>"​$3"​
 +   read -r etat <&5
 +
 +   if [ "​$etat"​ = "​ON"​ ]
 +   then
 +      echo "​OFF"​ >&4
 +      echo "​icon:​$Icon_Off"​ >&6
 +      #
 +      # Actions pour OFF
 +      #
 +   else
 +      echo "​ON"​ >&4
 +      echo "​icon:​$Icon_On"​ >&6
 +      #
 +      # Actions pour ON
 +      #
 +   fi
 +}
 +
 +### Export des Fonctions et Variables.
 +export -f  _quit  _switch
 +export Icon_On Icon_Off
 +
 +### Notification YAD (icône systray).
 +yad --notification ​                                                                 \
 +    --text "Texte au survol de la souris." ​                                         \
 +    --icon-size 64                                                                  \
 +    --no-middle ​                                                                    \
 +    --menu "​Switcher!bash -c '​_switch $fd4 $fd5 $fd6'​|Quitter!bash -c '_quit $fd6'"​ \
 +    --command "bash -c '​_switch $fd4 $fd5 $fd6'" ​                                   \
 +    --listen < <(while read -r <&7; do [ "​$REPLY"​ = "​EOF"​ ] && break; echo "​$REPLY";​ done)
 +</​file>​
 ===== Images icônes ===== ===== Images icônes =====
-OFF [[https://​debian-facile.org/​images/​file-R9815d946627cdf57a09164453a56c84e]] + 
-ON  [[https://​debian-facile.org/​images/​file-R477709fd6aaa5940ba2be7b06e643632]]+{{https://​debian-facile.org/​images/​file-R477709fd6aaa5940ba2be7b06e643632|Icône ​ON}}\\ 
 +{{https://​debian-facile.org/​images/​file-R9815d946627cdf57a09164453a56c84e|Icône OFF}} 
 + 
 ===== Utilisation ===== ===== Utilisation =====
  
-Bah, il ne reste plus qu'à le lancer en début de session ^_^+Bah, il ne reste plus qu'à le lancer en début de session ^_^\\ 
 +Après adaptation évidemment ... :-P
utilisateurs/tawal/scripts/switch-on-off-dans-le-systray.txt · Dernière modification: 15/05/2023 18:53 par Tawal

Pied de page des forums

Propulsé par FluxBB