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

Ceci est une ancienne révision du document !


Table des matières

Switch On/Off dans le systray

  • Nécessite yad : apt install yad
  • Nécessite inotifywait : ''apt install intofy-tools
  • Une icône dans le systray
  • Un clic gauche bascule l'état de l'icône
  • Un clic droit montre un menu : Switcher ou Quitter
  • Un fichier contenant l'état actuel de l'icône
  • Possibilité de coder les actions (on et off) dans le script ou d'utiliser le fichier pour gérer les actions.

Le script

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.

systray_switch
#!/bin/bash
 
 
### Variables Customisables.
Icon_Off="/chemin/de/l'image/ON"     # À adapter
Icon_On="/chemin/de/l'image/OFF"     # "  "
Switch="$HOME/systray_switch_state"  # "  "
 
 
### Fonctions.
_quit ()
{
   local s="inotifywait -qme close_write ${Switch//\//\\\\/}"
   kill -15 "$(ps -ef | awk -vs="$s" '$0 ~ s && !/grep/{print $2}')"
}
 
_switch ()
{
   local etat
   etat=$(<"$Switch")
   if [ "$etat" = "ON" ]
      echo "OFF" >"$Switch"
      #
      # Actions pour OFF
      #
   else
      echo "ON" >"$Switch"
      #
      # Actions pour ON
      #
   fi
}
 
_icon_set ()
{
   local etat icon
   while read -r
   do
      etat=$(<"$Switch")
      [ "$etat" = "ON" ] && icon="$Icon_On" || icon="$Icon_Off"
      echo "icon:$icon"
   done < <(echo; inotifywait -qme close_write "$Switch")
}
 
 
### Export (Variable et Fonctions).
export Switch
export -f  _quit  _switch
 
 
exec 2>/dev/null  # Pour éviter le message `Complété` à la fermeture de yad par la fonction `_quit`.
 
 
### Notification YAD (icône systray).
# text = affiché au survol de la souris
# menu = affichage+action(si clic) du menu sur clic droit de la souris
# command = switch direct sur clic gauche de la souris
yad --notification                                                    \
    --text "Musique écran éteint"                                     \
    --icon-size 64                                                    \
    --no-middle                                                       \
    --menu "Switcher!bash -c '_switch'|Quitter!bash -c '_quit'"       \
    --command "bash -c '_switch'"                                     \
    --listen < <(_icon_set)

Images icônes

Utilisation

Bah, il ne reste plus qu'à le lancer en début de session ^_^

utilisateurs/tawal/scripts/switch-on-off-dans-le-systray.1683757593.txt.gz · Dernière modification: 11/05/2023 00:26 par Tawal

Pied de page des forums

Propulsé par FluxBB