のキープレスを聞きたい Ctrl+W Rhythmboxで、それが発生した場合は関数を呼び出します。 Pythonでそれを行うにはどうすればよいですか?
ある種のプラグインを作成していると思います。プラグインはCまたはPythonで記述できます。これを行う方法はわかりませんが、この情報をどこで見つけることができるかはわかっています。
開始するためのベースは次のとおりです。
import dbus
import gobject
from dbus.mainloop.glib import DBusGMainLoop
def on_visibility_changed(visible):
if visible:
print "Rhythmbox Shown"
else:
print "Rhythmbox Hidden"
DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()
rhythmbox = bus.get_object('org.gnome.Rhythmbox',
'/org/gnome/Rhythmbox/Shell')
rhythmbox = dbus.Interface(rhythmbox,
'org.gnome.Rhythmbox.Shell')
rhythmbox.connect_to_signal("visibilityChanged", on_visibility_changed)
loop = gobject.MainLoop()
loop.run()
2つの重要なビットは、関数を定義することです。受け入れる必要のある引数についてはAPIドキュメントを参照し、シグナルを関数に接続します。繰り返しますが、APIはそれらのシグナルをリストします。
たとえば、RBPlayerで定義された信号をキャッチしたい場合は、シェルではなく、yoruセッションバスをPlayerに接続します。残念ながら、APIはかなり複雑であり、ここでは簡単に説明できません。 ドキュメント を介して適切な調査を行うと、おそらく必要なものが見つかります。