Manuel utilisateur — gtk4sermo

1. Introduction

gtk4sermo permet de créer des fenêtres GTK4 >= 4.6.0 depuis n'importe quel script shell via une syntaxe XML simple.

export DIALOG='
<window title="Bonjour">
  <vbox>
    <text><label>Entrez votre nom :</label></text>
    <entry><variable>NOM</variable></entry>
    <button><label>OK</label><action>EXIT:ok</action></button>
  </vbox>
</window>'

gtk4sermo --program=DIALOG
# Sortie : NOM="Jean"  EXIT="ok"

2. Installation

sudo apt-get install libgtk-4-dev libvte-2.91-gtk4-dev flex bison autoconf automake pkg-config gcc

cd gtk4sermo/
./autogen.sh && ./configure && make -j$(nproc)
sudo make install
gtk4sermo --version

3. Modes d'utilisation

ModeCommande
Variable d'environnementgtk4sermo --program=VAR_ENV
Entrée standardecho '<window>...</window>' | gtk4sermo --stdin
Fichier XMLgtk4sermo --file=ma_fenetre.xml

4. Syntaxe XML de base

<window title="Titre" width="400" height="300">
  <vbox spacing="6">

    <text><label>Message</label></text>

    <entry>
      <variable>MON_TEXTE</variable>
      <default>valeur initiale</default>
    </entry>

    <hbox homogeneous="true">
      <button ok></button>
      <button cancel></button>
    </hbox>

  </vbox>
</window>

5. Actions disponibles

ActionDescription
EXIT:valeurQuitter le dialogue
refresh:VARRecharger les données d'un widget
enable:VARActiver un widget
disable:VARDésactiver un widget
show:VARAfficher un widget
hide:VARMasquer un widget
echo $VARCommande shell quelconque

6. Widgets disponibles (47)

<aspectframe> <button> <calendar> <checkbox> <colorbutton> <combobox> <comboboxtext> <drawingarea> <edit> <entry> <eventbox> <expander> <filechooser> <flowbox> <fontbutton> <frame> <hbox> <hscale> <hseparator> <image> <infobar> <levelbar> <linkbutton> <list> <menubar> <menuitem> <notebook> <overlay> <password> <pixmap> <progressbar> <pulse> <radiobutton> <revealer> <searchentry> <spinbutton> <spinner> <stack> <statusbar> <switch> <table> <terminal> <text> <timer> <togglebutton> <tree> <vbox> <vscale> <vseparator> <window>

7. Variables exportées

À la fermeture, gtk4sermo exporte sur stdout toutes les variables déclarées :

NOM="Jean"
AGE="25"
EXIT="ok"

Usage dans un script shell :

eval $(gtk4sermo --program=DIALOG)
echo "Bonjour $NOM, vous avez $AGE ans"