Peut-être que cela est évident et que je le manque, ou peut-être que quelqu'un a déjà écrit un excellent guide et que mon (semblant exhaustif) google ne parvient pas à le monter, mais je ne peux pas comprendre pour la vie de moi comment obtenir la console Darn Python dans rhythmbox pour tout faire !
Je l'ai activé à partir du menu du plugin, puis je l'ai ouvert à l'aide de Tools-> Python Console.
Il imprime
You can access the main window through the 'shell' variable :
<rb.Shell object at 0xa6cdd24 (RBShell at 0xa14e000)>
>>>
Mais tout ce que je tape à l'invite ne fait rien ! J'ai essayé help
, j'ai essayé exit()
, j'ai essayé print "hello world"
, rien ne fait rien!
Toutes ces choses fonctionnent, bien sûr, dans une console Python normale. Je n'ai aucune idée de ce qu'est le diable, la différence est ici! Suis-je censé faire autre chose que frapper Entrée?
Réponses:
Le guide d'écriture des plugins Rhythmbox contient plusieurs exemples de commandes que vous pouvez utiliser dans la console Python pour contrôler la lecture et modifier Rhythmbox:
Jouer pause
Arrêtez
Piste suivante
Ajouter une chanson à la file d'attente de lecture
Afficher une visualisation
la source
print "hello world"
et appuyez sur Entrée. Je ne vois pas encore ce problème signalé ailleurs, vous pouvez donc envisager d'ouvrir un nouveau bogue dans le suivi des bogues de Rhythmbox .Comme avec tout objet Python, vous pouvez en apprendre beaucoup à ce sujet en utilisant la méthode dir () dessus. Cela vous donnera un bon point de départ.
Vous pouvez ensuite dir () n'importe quelle propriété intéressante, comme 'get_player', peut-être.
Un autre bon endroit à regarder est si vous voyez un attribut __doc__ sur l'objet.
la source
dir(rb.Shell)
et que je tape Entrée, cela ajoute juste un saut de ligne et ne fait rien ... Votre shell a-t-il fonctionné OOB? J'ai l'installation de rhythmbox par défaut sur Ubuntu 10.04 .... Je ne peux penser à rien de ce que j'ai changé qui briserait le shell. Ma console python régulière (en dehors de rb) fonctionne très bien ...Putain de merde, je viens de découvrir quel était le problème (2,5 ans plus tard) - pour une raison quelconque, ma touche "Entrée" correspond à deux événements clés différents selon que le verrouillage numérique est activé ou désactivé. Lorsque numlock est activé, il revient
KP_ENTER
et lorsque numlock est désactivé, il revientReturn
. J'ai toujours le verrouillage numérique activé, car je préfère saisir des chiffres avec le clavier.Malheureusement, la console python dans Rhythmbox ne reconnaît que
Return
pour exécuter une commande - l'KP_ENTER
événement entre juste un saut de ligne ...Mais solution facile, désactivez simplement le verrouillage numérique lorsque vous utilisez la console. J'ai rencontré ce problème dans quelques autres applications (généralement des jeux), donc je vais chercher une meilleure solution à long terme (forçant peut-être les deux à mapper d'une
Return
manière ou d'une autre) ...la source
xmodmap -pke > ~/.Xmodmap
pour créer une mise en page personnalisée, puis à la fin de ce fichier, ajoutez une lignekeysym KP_Enter = Return
puis exécutezxmodmap ~/.Xmodmap
pour activer la nouvelle mise en page personnalisée pour cette session. Pour le faire autorun pour l'avenir, ajoutez ce qui suit à~/.xinitrc
:if [ -f $HOME/.Xmodmap ]; then /usr/bin/xmodmap $HOME/.Xmodmap fi
if
instruction ajoutée à.xinitrc
doit avoir des sauts de ligne aprèsthen
et avantfi
.return
clé au lieu de la clé du numlockenter
?