Page 1 sur 1

[openbox] indicateur caps et num lock (contourné)

Publié : lun. 17 nov. 2014, 23:02
par vintherine
Les PC sans leds indicateurs d'état de clavier ça devient à la mode :( . Dans les environnements de bureau (kde, gnome...) il y a tout ce qu'il faut comme applet, par exemple ici.

Mais je tourne juste avec openbox, donc ces applets ne fonctionnent pas sur mon PC. Je cherche désespérément une petite application qui tourne dans le systray mais sans succès.

Ce qui serait parfait serait un petit beep au changement d'état. Tout ce j'ai vu pour l'instant c'est un conky en lua. Une autre idée ?

Merci d'avance

Re: [openbox] indicateur caps et num lock

Publié : mar. 18 nov. 2014, 01:35
par Tucnacek
Il y a mate-applet-lockkeys mais c'est du MATE et donc probablement un peu lourd pour ce que cela doit faire. J'imagine qu'il est cependant possible de l'insérer dans un Openbox sans trop de souci.
Sinon, jete peut-être un œil du côté de disk-indicator, dispo' dans AUR.
Je ne sais pas si cela correspond exactement à tes besoins mais c'est peut-être un point de départ.

Re: [openbox] indicateur caps et num lock

Publié : mar. 18 nov. 2014, 07:22
par vintherine
Merci,

disk-indicator ce n'est pas du tout son registre : il utilise les leds de caps lock et de num lock pour montrer les accès disques. Y y a floyd qui fait la même chose. Tled utilise le même principe avec l'activité réseau.

quand à mate-applet-lockkeys je ne l'ai pas essayé mais à priori c'est une applet qui fonctionne comme extension d'un panel, tout comme gnome-shell-extension-lockkeys, kdeplasma-applets-keyleds, lock-keys-applet (gnome 2), xfce4-kbdleds-plugin....

Re: [openbox] indicateur caps et num lock

Publié : mar. 18 nov. 2014, 08:15
par Tucnacek
J'ai lu le post un peu vite et ai répondu encore plus vite et donc complètement à côté de la plaque, notamment pour disk-indicator que j'ai lu de travers, mes excuses.
Ne peux-tu pas toutefois piquer une applet seulement au milieu d'un panel, quitte à installer 100MB pour disposer simplement de la fonction requise ?
Bon courage pour tes recherches.

Re: [openbox] indicateur caps et num lock

Publié : mar. 18 nov. 2014, 23:06
par vintherine
Bon, j'ai fait un infâme bidouillage bash mais qui a le mérite de fonctionner. Il dépend de alltray (pour envoyer dans le systray) et tourne dans xterm.
j'ai fait 4 icônes et j'ai récupéré un son quelconque pour marquer pour les changement d'état. Si ça intéresse quelqu'un qu'il m'envoie un message.

J'ai ajouté ceci dans mon autostart :

Code : Tout sélectionner

alltray -H -- xterm -e /home/vincent/Coding/bin/lockkeys > /dev/nul2>&1 &
voici le script, des fois qu'un vrai programmeur passe par là et veuille me faire un truc plus propre

Code : Tout sélectionner

#!/bin/bash
# dépendances : xorg-xset, xterm, alltray, xseticon (AUR)

#chemin du script
ScriptPath="$(readlink -f ${BASH_SOURCE[0]})"
ScriptDir="$(dirname $ScriptPath)""/"


icone[0]=$ScriptDir"lockeys-0.png"
icone[1]=$ScriptDir"lockeys-1.png"
icone[2]=$ScriptDir"lockeys-2.png"
icone[3]=$ScriptDir"lockeys-3.png"

echo "Ceci est un infâme bricolage en bash pour servir de leds à capslock et numlock"
echo


GetLed ()
{
  LedMask=$(xset q | grep "LED mask" | sed -r "s/.*LED mask:\s+[0-9a-fA-F]+([0-9a-fA-F]).*/\1/")
  NewCapsLock=$(( 0x$LedMask & 0x1 ))
  NewNumLock=$(( 0x$LedMask & 0x2 ))
  let mask=$NewCapsLock+$NewNumLock
}

GetLed
CapsLock=$NewCapsLock
NumLock=$NewNumLock

xseticon -id $WINDOWID ${icone[mask]}

while :
do
  GetLed
  if [ $CapsLock != $NewCapsLock  ] || [ $NumLock != $NewNumLock ]; then
    CapsLock=$NewCapsLock
    NumLock=$NewNumLock
    aplay $ScriptDir"pop.wav" >/dev/null 2>&1
    xseticon -id $WINDOWID ${icone[mask]}
  fi
done

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mer. 26 nov. 2014, 23:18
par OlaffGrossBaff
Le panel de lxde en propose un simple et efficace (que j'ai longtemps utilisé). Il doit y avoir moyen de le récupérer sous un openbox pur...

Re: [openbox] indicateur caps et num lock (contourné)

Publié : jeu. 27 nov. 2014, 07:19
par vintherine

Code : Tout sélectionner

$ yaourt -Ql lxpanel | grep kbled
lxpanel /usr/lib/lxpanel/plugins/kbled.so
Je ne pense pas pouvoir l’utiliser autrement que dans le panel de lxde :(

Re: [openbox] indicateur caps et num lock (contourné)

Publié : ven. 28 nov. 2014, 01:17
par OlaffGrossBaff
Ou sinon, tu as pensé à Cairo-dock ? - ou autre projet du genre -
Que ce soit sous Openbox, LXDE ou FXCE, à chaque fois je m'en fait une mouture, en découvrant les évolutions après une période de non utilisation.
Là je suis sous fxce. Je trouve que le panel est bien, mais certains applets sont médiocres (batterie et indicateurs LED du clavier, comme pour openbox et lxde). Je trouve le Cairo-dock très bon, et peu gourmant en ressources (pour peu qu'on fait les bons réglages)

Re: [openbox] indicateur caps et num lock (contourné)

Publié : ven. 28 nov. 2014, 07:08
par vintherine
non, j'utilise tint2 que je préfère à toutes les solutions que j'ai essayé. Bah, je suis en train de me faire une version de mon applet en python, que je découvre pour l'occasion. À un petit soucis près elle est déjà pleinement fonctionnelle, j'en parlerai plus tard.

Re: [openbox] indicateur caps et num lock (contourné)

Publié : ven. 28 nov. 2014, 11:55
par OlaffGrossBaff
Va pour une appli perso en python alors. Et je suis curieux de la voir quand tu en parleras plus tard.

Re: [openbox] indicateur caps et num lock (contourné)

Publié : lun. 01 déc. 2014, 23:26
par vintherine
OlaffGrossBaff a écrit :Va pour une appli perso en python alors. Et je suis curieux de la voir quand tu en parleras plus tard.
Ben voilà, le script est sur mon blog : http://blog.vintherine.org/post/2014/12/01/LockKeys-0.2

Chez moi ça fonctionne correctement mais je ne l'ai pas testé ailleurs, donc si ça te tente...

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 00:36
par benjarobin
L'indentation est toute cassée, peux tu mettre le code ici ou sur pastebin ?

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 00:36
par benjarobin
L'indentation est toute cassée, peux tu mettre le code ici ou sur pastebin ?

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 07:14
par vintherine
Arf... j'ai fini tard hier soir, même pas vérifié que le copié collé avait tout cassé. Zarbi !

voilà le pastebin :http://pastebin.com/6nyw6PHy

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 09:40
par benjarobin
Tu devrait initialiser oldMask dans l'init à -1, puis placer ceci dans le if, au lieu de en dehors du if :

Code : Tout sélectionner

icon_path='/usr/local/share/lockkeys/'+str(Mask)+'.png'
self.tray_object.set_from_file(icon_path)
Tu auras ainsi de meilleur performance
Si tu veux encore améliorer les performances il ne faut pas utiliser grep, ni le module commands, il faut tout traiter en python

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 09:58
par vintherine
Merci Benjarobin
benjarobin a écrit :Tu devrait initialiser oldMask dans l'init à -1,
Tu veux dire avant les classes et les fonctions ?
puis placer ceci dans le if, au lieu de en dehors du if :

Code : Tout sélectionner

icon_path='/usr/local/share/lockkeys/'+str(Mask)+'.png'
self.tray_object.set_from_file(icon_path)
Tu auras ainsi de meilleur performance
Ça oui, bonne idée
Si tu veux encore améliorer les performances il ne faut pas utiliser grep, ni le module commands, il faut tout traiter en python
Je vais regarder ça. Mais pour l'heure je ne sais pas comment obtenir le résultat de xset sans passer par le module commands. Cela ne fait qu'une semaine que j'étudie Python, jusqu'à présent je ne faisait que du bash :mrgreen:

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 10:45
par vintherine
Bon, finalement je ne peux pas déplacer

Code : Tout sélectionner

icon_path='/usr/local/share/lockkeys/'+str(Mask)+'.png'
self.tray_object.set_from_file(icon_path)
Si je mets ces lignes dans le if l'icône ne s'affiche pas dans le systray, il y a juste un emplacement vide

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 10:54
par benjarobin
Si je mets ces lignes dans le if l'icône ne s'affiche pas dans le systray, il y a juste un emplacement vide
... Si si cela fonctionne très bien. Tu as du oublié d'initialiser oldMask à -1...
Tu as encore beaucoup à apprendre (surtout pour faire du jolie code) :-)

Bon tu peux faire encore mieux : Utiliser directement les fonctions C de X11. Ton script python modifié vite fait : http://pastebin.com/RKwrtE8Y
Il y a encore "un peu" de travail pour faire du code propre, mais cela donne l'idée.

Re: [openbox] indicateur caps et num lock (contourné)

Publié : mar. 02 déc. 2014, 11:57
par vintherine
benjarobin a écrit :Tu as du oublié d'initialiser oldMask à -1
Effectivement, mais c'est que je n'avais pas compris ce qu'il fallait faire

ceci dit cela provoque un ding incongru au lancement du script, il faut donc que je teste que ce n'est pas le 1er passage avant de jouer le son.
Bon tu peux faire encore mieux : Utiliser directement les fonctions C de X11. Ton script python modifié vite fait : http://pastebin.com/RKwrtE8Y.
Merci, ça fonctionne bien.
Tu as encore beaucoup à apprendre (surtout pour faire du jolie code)
Arf... je ne me fais guère d’illusion, à bientôt 60 ans on apprend beaucoup moins vite qu'à 27