Vielleicht ist das offensichtlich und ich vermisse es, oder vielleicht hat bereits jemand eine großartige Anleitung geschrieben und mein (scheinbar erschöpfendes) Googeln schlägt fehl, aber ich kann für mein ganzes Leben nicht herausfinden, wie ich die verdammte Python-Konsole rein bekomme rhythmbox, um alles zu tun !
Ich habe es über das Plugin-Menü aktiviert und es dann über Extras-> Python-Konsole geöffnet.
Es druckt
You can access the main window through the 'shell' variable :
<rb.Shell object at 0xa6cdd24 (RBShell at 0xa14e000)>
>>>
Aber alles, was ich an der Eingabeaufforderung eingebe, macht nichts ! Ich habe versucht help
, ich habe versucht exit()
, ich habe versucht print "hello world"
, nichts tut etwas!
All diese Dinge funktionieren natürlich in einer normalen Python-Konsole. Ich habe keine Ahnung, was zum Teufel der Unterschied ist! Soll ich etwas anderes tun, als die Eingabetaste zu drücken?
Antworten:
Das Rhythmbox Plugins Writing Guide enthält mehrere Beispiele für Befehle, die Sie in der Python-Konsole verwenden können, um die Wiedergabe zu steuern und die Rhythmbox zu ändern:
Spielpause
Halt
Nächster Titel
Fügen Sie der Play Queue ein Lied hinzu
Visualisierung anzeigen
quelle
print "hello world"
. Geben Sie z. B. ein und drücken Sie die Eingabetaste. Ich sehe dieses Problem noch nirgendwo anders gemeldet. Sie könnten also in Erwägung ziehen, einen neuen Fehler im Rhythmbox-Bug-Tracker zu öffnen .Wie bei jedem Python-Objekt können Sie mithilfe der dir () -Methode eine Menge darüber herausfinden. Dies gibt Ihnen einen guten Ausgangspunkt.
Sie können dann jede der interessant aussehenden Eigenschaften dir () zuweisen, z. B. 'get_player'.
Ein weiterer guter Ort, um nachzuschauen, ist, wenn Sie ein __doc__-Attribut für das Objekt sehen.
quelle
dir(rb.Shell)
und die Eingabetaste drücke, wird nur ein Zeilenumbruch eingefügt, und es geschieht nichts. Hat Ihre Shell OOB funktioniert? Ich habe die Standard-Rhythmbox-Installation unter Ubuntu 10.04 ... Ich kann mir nichts vorstellen, was ich geändert habe und das die Shell beschädigen würde. Meine reguläre Python-Konsole (außerhalb von RB) funktioniert einwandfrei ...Heiliger Mist, ich habe gerade herausgefunden, wo das Problem liegt (2,5 Jahre später) - aus irgendeinem Grund weist meine Eingabetaste zwei verschiedenen Tastenereignissen zu, je nachdem, ob die Num-Taste aktiviert oder deaktiviert ist. Wenn die Num-Taste aktiviert ist, kehrt sie zurück
KP_ENTER
, und wenn die Num-Taste deaktiviert ist, kehrt sie zurückReturn
. Ich habe immer die Nummernsperre aktiviert, weil ich es bevorzuge, Nummern über die Tastatur einzugeben.Leider erkennt die Python-Konsole in Rhythmbox nur
Return
, dass ein Befehl ausgeführt werden soll - derKP_ENTER
Ereignis wird nur durch einen Zeilenumbruch ersetzt ...Aber einfache Lösung: Schalten Sie die Numlock-Funktion einfach aus, wenn Sie die Konsole verwenden. Ich bin auf dieses Problem in einigen anderen Anwendungen gestoßen (normalerweise in Spielen), daher werde ich nach einer besseren langfristigen Lösung suchen (vielleicht zwingen, beide
Return
irgendwie zuzuordnen ) ...quelle
xmodmap -pke > ~/.Xmodmap
ein benutzerdefiniertes Layout zu erstellen, fügen Sie am Ende dieser Datei eine Zeile hinzukeysym KP_Enter = Return
undxmodmap ~/.Xmodmap
aktivieren Sie das neue benutzerdefinierte Layout für diese Sitzung. Um es für die Zukunft automatisch auszuführen, fügen Sie Folgendes hinzu~/.xinitrc
:if [ -f $HOME/.Xmodmap ]; then /usr/bin/xmodmap $HOME/.Xmodmap fi
if
hinzugefügte Anweisung.xinitrc
muss nachthen
und vor Zeilenumbrüche enthaltenfi
.return
Schlüssel anstelle des Schlüssels des Nummernschlossesenter
?