myTint2Applets est une collection de gadgets pour Tint2 conçue initialement pour mon propre usage et présentée ici sous licence GPL3 sans autre prétention que de partager une expérience didactique. Il s'agit pour certains de simples lanceurs vers des applications tierces (myAppMenu, myXsetMenu, myOblogout) ou des fonctions de OpenBox (myToggleDesktop), et pour les autres d'un ensemble de scripts bash générant des menus exploités par myGtkMenu (voir dépendances).

La version actuelle (0.3) a été développée et testée sous Archbang (Archlinux + tint2 + conky) à jour et devrait être prochainement adaptée à Crunchbang.

Avertissement : je ne suis, au mieux, qu'un programmeur du dimanche et mes scripts sont encore en version alpha. Évidemment aucune promesse n'est faite sur leur bon fonctionnement dans votre environnement de travail, mais je tacherai de me pencher le plus vite possible sur les inévitables bugs que vous aurez la gentillesse de me remonter.

À propos de Tint2

Spécialement conçu pour OpenBox Tint2 est un panneau / barre des tâches utilisable dans tous les environnements de bureau en plus ou à la place d'un éventuel panneau existant. La version stable (0.11) fournit une barre des taches (multi-bureaux multi-écrans), une zone de notification et une horloge. Une zone de lanceurs n'est disponible que dans la version svn. C'est donc cette dernière qu'il faut installer.
Installation : tint2-svn est disponible dans les dépôts archlinuxfr et aur (yaourt -S tint2-svn)

Dépendances

Outres tint2-svn voici la liste des dépendances des différentes applets:

- myGtkMenu : permet d'afficher myAppMenu, myPlacesMenu, myTrashMenu et myXsetMenu. Dépôt aur.

- nautilus et/ou thunar et/ou pcmanfm comme navigateur de fichier pour myPlacesMenu et myTrashMenu. Il serait facile de rajouter tout autre navigateur utilisant le fichier .gtk-bookmarks pour stocker ses signets.

- tdb :  pour afficher les emblèmes des signets de thunar. Dépôt extra.

- zenity permet d'afficher des boîtes de dialogue (myPlacesMenu)

- stjerm : terminal léger façon quake-like. Dépôt aur.

- oblogout : j'utilise la version fork de chrunbang. Dépôt aur.

- xautomation : pour simuler la frappe d'une touche de fonction. Concerne myStjerm et myToogleDesktop. Dépôt community.

- trash-cli : pour vider les corbeilles, y compris celles des périphériques externes.Dépôt aur.

myAppMenu

myAppMenu n'est pour l'instant qu'un simple lanceur de myGtkMenu avec en paramètre un fichier menu situé dans le dossier ~/.config/myTint2Applets.

OpenBox est conçu pour fonctionner avec un menu accessible par le bouton droit de la souris. L'idée est de garder un menu complet, généré dynamiquement par des pipemenu, y compris à travers tint2 (en fixant à 1 l'option wm_menu dans tint2rc) et de lui adjoindre un menu moins "fouillis", ordonné à notre goût, avec les seules applications régulièrement utilisées.

Un exemple de fichier menu est donné par /etc/mygtkmenu.conf

myPlacesMenu

Cette applet vous permet d’accéder rapidement

  • à la racine du système de fichier
  • à votre répertoire personnel
  • aux signets de Nautilus, Pcmanfm et/ou Thunar.
  • à vos disque cryptés montés (testé avec truecrypt)
  • à vos lecteurs optiques (CD/DVD)
  • à vos périphériques externes

Une option du menu permet de sélectionner le navigateur de fichiers (Nautilus, Pcmanfm ou Thunar)

myTrashMenu

À la suite d'un bug décrit ici affectant gvfs (donc touchant Nautilus, Pcmanfm et Thunar) la gestion de la corbeille ne prend plus en compte les périphériques externes.

En guise de mesure de contournement j'utilise les commandes trash-list et trash-empty du paquet trash-cli. Le script proposé ici était initialement inclus dans myPlacesMenu mais la commande trash-list est assez longue à produire un résultat d'où un temps de latence d'au moins ½ seconde. J'ai donc préféré dissocier les deux actions.

myXsetMenu

Petit script qui permet de désactiver / réactiver:

  • l'économiseur d'écran
  • le touchpad
  • la cloche système

myStjerm

Stjerm est un terminal léger façon quake-like qui apparaît à la simple pression d’une touche (paramétrable, F12 par défaut) et disparaît de même (ou quand il perd le focus) tout en continuant sa tâche. Il sait gérer les onglets et le plein écran et utilise un simple fichier texte (~/.Xdefaults) pour sa cofiguration par défaut (taille, position, bordure....). Stjerm intégré dans tint2, c'est de la balle : l'essayer c'est l'adopter !
myStjerm est un lanceur simulant la touche F12 grâce à la commande xte du paquet xautomation
Pour que myStjerm fonctionne il faut que Stjerm ait été préalablement lancé. Le plus simple est qu'il soit lancé au démarrage de la session, par exemple par une ligne 'stjerm &' dans ~/.config/openbox/autostart

myToggleDesktop

Il s'agit d'une simple applet permettant d'afficher le bureau / masquer les fenêtres ouvertes ou ré-afficher ces dernières. Elle utilise actuellement une fonction de OpenBox et n'est donc utilisable que dans cet environnement. Par ailleurs elle fonctionne en simulant la frappe d'une touche de fonction telle que définie dans votre ~/.config/openbox/rc.xml, grâce à la commande xte du paquet xautomation.

myOblogout

Simple lanceur vers le script oblogout que l'on trouve dans le dépôt aur. Par défaut ce dernier ne comprend pas les actions mise en veille et hibernation. Peut se gérer des /etc/oblogout.conf.

Position des menus

tint2 peux se positionner - théoriquement - sur tous les cotés de l'écran en réglant le paramètre panel_position dans la section # Panel. Par contre aligner les menus sur les lanceurs n'est pas chose aisée si tint2 n'est pas en haut (panel_position = top left horizontal) ou à gauche (panel_position = top left vertical). Pour l'heure myGtkMenu ne permet que de fixer les positions X et Y du coin supérieur gauche de la fenêtre créée.

Téléchargement et installation

Vous pouvez téléchargez l'archive ici. Elle contient :l'archive

  • /usr/share/myTint2Applet/desktop : les lanceurs
  • /usr/share/myTint2Applet/pixmaps : quelques icônes utilisées
  • /usr/share/myTint2Applet/init : les fichiers de config par défaut
  • /usr/share/myTint2Applet/doc : un fichier README
  • /usr/local/bin : les scripts bash utilisés

Décompactez l'archive à la racine de votre système et édité votre ~/config/tint2/tint2rc de la façon suivante :

- dans la section # Panel
panel_items = LTSC (L pour Launchers, T pour Taskbar, S pour Systray et C pour Clock)

- dans la section # Launcher (à créer si elle n'existe pas)
launcher_icon_theme = votre_theme-d'icone_préféré)
launcher_padding = 2 2 4 #espacement entre les lanceurs)
launcher_background_id = 1 #voir Background definitions)
launcher_icon_size = 24 #taille des icônes)
launcher_item_app = /usr/share/myTint2Applets/launchers/myAppMenu.desktop)
launcher_item_app = /usr/share/myTint2Applets/launchers/myPlacesMenu.desktop)
launcher_item_app = /usr/share/myTint2Applets/launchers/myTrashMenu.desktop)
launcher_item_app = /usr/share/myTint2Applets/launchers/myXsetMenu.desktop)
launcher_item_app = /usr/share/myTint2Applets/launchers/myStjerm.desktop)
launcher_item_app = /usr/share/myTint2Applets/launchers/myToggleDesktop.desktop)
launcher_item_app = /usr/share/myTint2Applets/launchers/myOblogout.desktop)

Todo

rapidement

  • myAppMenu : fournir un menu minimal avec documentation.
  • myPlacesMenu : afficher le(s) lecteurs CD/DVD mêmes vides.
  • myXset : détecter présence d'un touchpad.
  • Menus : gérer les positions (ajout d'une option à myAppMenu)

plus tard

  • général : réunir les différents scripts en un seul programmes
  • général : gérer le multi-langage
  • myToggleDesktop : faire une version indépendante de openbox
  • myAppMenu : créer un gestionnaire de menu graphique

Captures d'écran

myAppMenu myPlacesMenu
myAppMenu myPlacesMenu
myTrashMenu myXsetMenu
myTrashMenu myXsetMenu
myStjerm
myStjerm
ObLogout
ObLogout