Как я могу прослушивать определенный сигнал в Rhythmbox?

Я хочу прослушать нажатие клавиши нажатием Ctrl + W в Rhythmbox и вызвать функции, если это произойдет. Как я могу это сделать в Python?

2
задан 2 January 2011 в 16:10

18 ответов

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

Документация для создания плагинов. Документация API. Запрашивать список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org) Запрашивать на IRC-канале (#rhythmbox на irc.gimp.net)
3
ответ дан 25 May 2018 в 23:42

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

Документация для создания плагинов. Документация API. Запрашивать список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org) Запрашивать на IRC-канале (#rhythmbox на irc.gimp.net)
3
ответ дан 25 July 2018 в 22:40

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

Документация для создания плагинов. Документация API. Запрашивать список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org) Запрашивать на IRC-канале (#rhythmbox на irc.gimp.net)
3
ответ дан 26 July 2018 в 23:34

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

Документация для создания плагинов. Документация API. Запрашивать список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org) Запрашивать на IRC-канале (#rhythmbox на irc.gimp.net)
3
ответ дан 2 August 2018 в 04:06

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

  1. Документация для создания плагинов .
  2. Документация API .
  3. Запрашивает список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org)
  4. Запрашивает канал IRC (#rhythmbox на irc.gimp.net)
3
ответ дан 4 August 2018 в 20:10

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

  1. Документация для создания плагинов .
  2. Документация API .
  3. Запрашивает список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org)
  4. Запрашивает канал IRC (#rhythmbox на irc.gimp.net)
3
ответ дан 6 August 2018 в 04:11

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

  1. Документация для создания плагинов .
  2. Документация API .
  3. Запрашивает список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org)
  4. Запрашивает канал IRC (#rhythmbox на irc.gimp.net)
3
ответ дан 7 August 2018 в 22:11

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

  1. Документация для создания плагинов .
  2. Документация API .
  3. Запрашивает список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org)
  4. Запрашивает канал IRC (#rhythmbox на irc.gimp.net)
3
ответ дан 10 August 2018 в 10:25

Я предполагаю, что вы создаете какой-то плагин. Плагины могут быть написаны на C или Python. Я не знаю, как это сделать, но я знаю, где вы могли бы узнать эту информацию:

  1. Документация для создания плагинов .
  2. Документация API .
  3. Запрашивает список рассылки rhythmbox-devel (rhythmbox-devel@lists.gnome.org)
  4. Запрашивает канал IRC (#rhythmbox на irc.gimp.net)
3
ответ дан 13 August 2018 в 16:51

Вот база для начала: [f1]

Два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Погрузитесь в документацию, и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 25 May 2018 в 23:42

Вот база для начала: [f1]

Два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Погрузитесь в документацию, и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 25 July 2018 в 22:40

Вот база для начала: [f1]

Два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Погрузитесь в документацию, и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 26 July 2018 в 23:34

Вот база для начала: [f1]

Два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Погрузитесь в документацию, и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 2 August 2018 в 04:06

Вот база для начала: import dbus import gobject из dbus.mainloop.glib import DBusGMainLoop def on_visibility_changed (видимый): если видимый: напечатать «Rhythmbox Shown» else: напечатать «Rhythmbox Hidden» [ ! d1] 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 ()

два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Хороший рывок через Документация , и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 4 August 2018 в 20:10

Вот база для начала: import dbus import gobject из dbus.mainloop.glib import DBusGMainLoop def on_visibility_changed (видимый): если видимый: напечатать «Rhythmbox Shown» else: напечатать «Rhythmbox Hidden» [ ! d1] 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 ()

два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Хороший рывок через Документация , и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 6 August 2018 в 04:11

Вот база для начала: import dbus import gobject из dbus.mainloop.glib import DBusGMainLoop def on_visibility_changed (видимый): если видимый: напечатать «Rhythmbox Shown» else: напечатать «Rhythmbox Hidden» [ ! d1] 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 ()

два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Хороший рывок через Документация , и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 7 August 2018 в 22:11

Вот база для начала: import dbus import gobject из dbus.mainloop.glib import DBusGMainLoop def on_visibility_changed (видимый): если видимый: напечатать «Rhythmbox Shown» else: напечатать «Rhythmbox Hidden» [ ! d1] 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 ()

два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Хороший рывок через Документация , и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 10 August 2018 в 10:25

Вот база для начала: import dbus import gobject из dbus.mainloop.glib import DBusGMainLoop def on_visibility_changed (видимый): если видимый: напечатать «Rhythmbox Shown» else: напечатать «Rhythmbox Hidden» [ ! d1] 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 ()

два важных бита определяют функцию, см. документы API, какие аргументы он должен принять, и подключение к ней сигнала. Опять же, API перечисляет эти сигналы.

Если вы хотите поймать сигнал, определенный в RBPlayer, например, вы должны подключить yoru session bus к Player вместо Shell. К сожалению, API довольно сложный и нелегко объяснить здесь. Хороший рывок через Документация , и вы, вероятно, найдете то, что вам нужно.

2
ответ дан 13 August 2018 в 16:51