Xorg, Compiz, KDE / Gnome / Xfce / Fluxbox / e17 / fvwm ... GDM/KDM/XDM...
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » lun. 17 nov. 2014, 23:02
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
Dernière modification par
vintherine le jeu. 20 nov. 2014, 11:31, modifié 1 fois.
-
Tucnacek
- Chu Ko Nu
- Messages : 332
- Inscription : sam. 28 sept. 2013, 22:40
Message
par Tucnacek » mar. 18 nov. 2014, 01:35
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.
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » mar. 18 nov. 2014, 07:22
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....
-
Tucnacek
- Chu Ko Nu
- Messages : 332
- Inscription : sam. 28 sept. 2013, 22:40
Message
par Tucnacek » mar. 18 nov. 2014, 08:15
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.
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » mar. 18 nov. 2014, 23:06
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
-
OlaffGrossBaff
- Hankyu
- Messages : 38
- Inscription : mer. 05 juin 2013, 08:52
Message
par OlaffGrossBaff » mer. 26 nov. 2014, 23:18
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...
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » jeu. 27 nov. 2014, 07:19
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

-
OlaffGrossBaff
- Hankyu
- Messages : 38
- Inscription : mer. 05 juin 2013, 08:52
Message
par OlaffGrossBaff » ven. 28 nov. 2014, 01:17
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)
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » ven. 28 nov. 2014, 07:08
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.
-
OlaffGrossBaff
- Hankyu
- Messages : 38
- Inscription : mer. 05 juin 2013, 08:52
Message
par OlaffGrossBaff » ven. 28 nov. 2014, 11:55
Va pour une appli perso en python alors. Et je suis curieux de la voir quand tu en parleras plus tard.
eeepc 1000HE 1.6GHz 2048MB modèle Taiwan
SSD | LVM on LUKS | OpenRC | XFCE | oh_my_zsh | tmux | vim-spf13
IMF : fcitx pour chinois 中文 - uim pour japonais 日本語 et autres scripts
Commence à gérer LaTeX - niveau : "newbie avancé"
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » lun. 01 déc. 2014, 23:26
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...
-
benjarobin
- Maître du Kyudo
- Messages : 15565
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Message
par benjarobin » mar. 02 déc. 2014, 00:36
L'indentation est toute cassée, peux tu mettre le code ici ou sur pastebin ?
-
benjarobin
- Maître du Kyudo
- Messages : 15565
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Message
par benjarobin » mar. 02 déc. 2014, 00:36
L'indentation est toute cassée, peux tu mettre le code ici ou sur pastebin ?
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » mar. 02 déc. 2014, 07:14
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
-
benjarobin
- Maître du Kyudo
- Messages : 15565
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Message
par benjarobin » mar. 02 déc. 2014, 09:40
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
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » mar. 02 déc. 2014, 09:58
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

-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » mar. 02 déc. 2014, 10:45
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
-
benjarobin
- Maître du Kyudo
- Messages : 15565
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Message
par benjarobin » mar. 02 déc. 2014, 10:54
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.
-
vintherine
- yeomen
- Messages : 270
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
-
Contact :
Message
par vintherine » mar. 02 déc. 2014, 11:57
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