Mon Tint2
Par Vincent Gay le lundi 5 mars 2012, 12:00 - Linux - Lien permanent
Avec mon Archbang (ArchLinux et Openbox) j'ai choisi d'utiliser tint2 en guise de panneau / barre des tâches, notamment pour sa capacité à gérer non seulement les bureaux multiples mais aussi mon double écran. J'ai installé la version svn disponible dans AUR qui permet l'utilisation de lanceurs.
Sans plus tarder en voici un aperçu (cliquez pour agrandir) :
Sur mon deuxième écran apparaît un panneau analogue, mais dépourvu de systray, dont les barres des tâches ne contiennent que les icônes des applications concernées par ce moniteur.
Grâce aux lanceurs j'ai pu bricoler quelques applets dont tint2 est actuellement dépourvu :
- Un menu des applications favorites
- Un menu emplacements
- Une corbeille
- Une icône pour afficher le bureau
- Un terminal à la quake-like qui se cache dès qu'il perd le focus
- Une icône pour quitter / se déconnecter
Considérations préalables sur la configuration de tint2.
La configuration de tint2 est contenue dans le fichier ~/.config/tint2/tint2rc. Il existe un utilitaire de configuration graphique (tintwizard) mais la version dont je dispose ne semble pas encore gérer les lanceurs. Quoiqu'il en soit vous trouverez sur le web de nombreux tutoriels et exemples de configuration, notamment sur le wiki du site de l'application.
Pour ceux qui voudraient en voir d'avantage voici un accès à mon tint2rc.
Considérations préalables sur les menus OpenBox.
Des menus applications et emplacements sont accessibles par un clic droit sur le bureau. Il est possible de "traverser" tint2 et de continuer à bénéficier de ces menus en fixant à 1 l'option wm_menu dans tint2rc. C'est particulièrement intéressant quand une application est maximisée.
Considérations préalables sur les lanceurs de tint2
Un lanceur dans le fichier tint2rc est un simple lien vers un fichier .desktop conforme à la norme freedesktop.org. Par exemple :
launcher_item_app =
/home/vince/.local/share/applications/menuapp.desktop
Menu applications favorites
Plutôt que de saturer mon panneau de lanceurs j'ai regroupé mes applications favorites dans un menu créé avec myGtkMenu (disponible en version 1.3.6 dans AUR). Les menus sont stockés dans de simples fichiers texte que l'on créera en s'inspirant du fichier exemple /etc/mygtkmenu.conf.
Illustration :

Mon fichier de configuration - le fichier .desktop
Menu emplacement
L'idée est de récupérer les signets de Nautilus (avec les éventuelles icônes liées) ainsi que les périphériques montés dans mtab pour constituer, via un script bash, un menu affiché par myGtkMenu. Outre myGtkMenu ce script dépend de gvfs pour lire les metadata et récupérer les icônes rattachées aux dossiers avec Nautilus. Pour les utilisateurs de Thunar il est possible de faire la même chose en utilisant la commande tdbdump du paquet tdb-tools. Le fichier concerné est ~/.cache/Thunar/metafile.tdb.
Illustration:

Script menu emplacements - Le fichier .desktop
La corbeille
À la suite d'un bug décrit ici la gestion de la corbeille ne fonctionne plus correctement pour les périphériques externes. Ceci touche également Nautilus de telle sorte que l'action "Vider la corbeille" ne concerne en fait que le répertoire personnel.
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 le script précédent (menu emplacements) mais la commande trash-list est assez longue à produire un résultat d'où un temps de latence d'au moins 1/2 seconde. J'ai donc préféré dissocier les deux actions.
Illustration :

À noter que l'icône en regard du menu "Vider la corbeille" change en fonction de l'état ce celle-ci (vide ou remplie) mais pas celle du lanceur tint2 (si quelqu'un pouvait me suggérer une solution...).
Le script corbeille - Le fichier .desktop
Afficher le bureau
Cette fonction est assurée par l'action ToggleShowDesktop d'Openbox, que l'on peut exécuter par une combinaison de touches mémorisée dans ~/.config/openbox/rc.xml. Chez moi c'est Super-L et d.
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>
L'astuce (qui sera utilisée également pour le lanceur suivant) et de simuler la
frappe clavier grâce à la commande xte du paquet xautomation (dépot
community)Exec=xte "keydown Super_L" "key d" "keyup Super_L"
Un terminal intégré
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 !
Lancer le programme une fois configuré par autostart.sh et utiliser la même astuce xautomation que précédemment pour le lanceur dans tint2 :
Exec=xte "key F12"
Mon fichier de configuration de stjerm
Oblogout
Avec Archbang vient un script, fork de oblogout, tel qu'on le trouve dans Crunchbang (dépôt AUR). Il suffit donc de créer un .desktop contenant la commandeExec=oblogout
Calendrier
Last but not least l'horloge de tint2 peut servir de lanceur. Et même de lanceur double puisque l'on peut affecter une action aussi bien au bouton droit qu'au bouton gauche. Pour ma part j'utilise osmo de la manière suivante :
clock_lclick_command = ~/.config/scripts/showosmoLe script en question n'ayant pour seule fonction de refermer la fenêtre au lieu d'en ouvrir une deuxième si l'on reclique sur l'horloge. Le script :
#!/bin/bash if [ ! $(pgrep -x osmo) ]; then osmo & else killall osmo fi
En conclusion (très provisoire)
Tout ceci reste grandement améliorable mais finalement... je n'en suis pas
si loin de mon regretté panneau Gnome 2. Par certains aspects je trouve même ma
solution actuelle supérieure. 




Commentaires
Génial.
J'en ai rêvé, ils l'ont fait et grâce à vous je l'ai découvert !
Merci beaucoup mon Lxde va devenir convivial en plus de très véloce. Que du bonheur.
Bonjour,
Remarquable configuration!
Cependant, j'aurais un conseil à vous demander: Comment executez vous stjerm en début de session? Est-ce dans ./config/openbox/autostart.sh ?
J'ai toujours une erreur au démarrage de stjerm, et ne trouve pas de solution... Apparemment, de votre côté, vous y êtes arrivé!
Je désespère, un peu
Cordialement.
Rémi.
Oui, stjerm est démarré dans mon autostart.sh. Quelle erreur avez-vous ? Avez-vous vérifié l'ortographe ? Il est tellement tentant d'écrire sjterm au lieu de stjerm.
Voici mon autostart :xrandr --output LVDS1 --auto --output VGA1 --auto --left-of LVDS1 &
Bonjour, je voudrais me faire un menu avec mes applications favorites dans la barre de lanceurs mais il me semble qu'il y a un soucis avec les lien : quand je clique pour télécharger le fichier .desktop correspondant, je reçois un fichier qui s'appelle "Quitter Openbox".