Plein de pistes intéressantes sur vsido !
La méthode de MrPeachy est un "classique" de chez Crunchbang, où la question a été longuement creusée. Personnellement, je lui reproche d'utiliser Lua, qui m'est complètement étranger. Les conkies qui en résultent sont donc pour moi difficiles à digérer.
Le "conky clicky" fait appel à bash et xdotool, mais je trouve le code un peu difficile aussi.
J'ai réfléchi à la question et suis presque arrivé à quelque chose d'utilisable, simple et de bon goût (selon mes critères, hein) :
L'environnement dans lequel j'ai fait mes petites expériences : Ubuntu 14.04, une session Openbox, Nautilus gère le bureau. Les "fk" qui préfixent plein de noms dans mon code désignent frenchKISS, l'environnement sur lequel je travaille avec mes petits neurones ...
Pour commencer, le conky : les paramètres importants sont les suivants ...
own_window yes
own_window_type normal
own_window_class fkWidget
own_window_title dateLight
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
On crée donc un conky de classe fkWidget nommé dateLight.
Ensuite, un script Bash qui tourne aussi longtemps que je souhaite gérer les clics sur mon conky : fkWidgetMonitor.
#!/bin/bash
xdotool search --class fkWidget behave %@ mouse-click getwindowname getmouselocation --shell exec /home/fkadmin/fkWidgetClickManage > /home/fkadmin/fkWidgetClickInfos
C'est xdotool qui tourne indéfiniment, surveille toutes les fenêtres de classe fkWidget et réagit à chaque clic gauche sur l'une de ces fenêtres. D'une part, il inscrit dans le fichier fkWidgetClickInfos le nom du conky cliqué et les coordonnées du clic ; d'autre part il exécute le script fkWidgetClickManage, qui pourra profiter de ces informations pour réagir comme on le souhaite. Par exemple, voici un script qui affiche les infos dans une boîte de dialogue : fkWidgetClickManage ...
#!/bin/bash
zenity --info --text="$(cat /home/fkadmin/fkWidgetClic)"
Les trucs à considérer :
- xdotool tourne ici indéfiniment ; il faut penser, à la fermeture de session par exemple, à flinguer fkWidgetMonitor pour être propre.
- par ailleurs, comme c'est toujours le même process xdotool qui écrit les infos dans fkWidgetClickInfos, ce dernier fichier ne cesse de grossir à chaque clic sur un conky. Un de ces quatre, si je passe 5 millions d'années à cliquer frénétiquement, le fichier en question finira par peser 5Go !
Hoplà ?