Re: [Rhythmbox-devel] howto: reload plugin without restarting rb + autocompletion for rb module



On Sat, Feb 27, 2010 at 2:54 AM, Christophe Oosterlynck
<tiftof gmail com> wrote:
> - I can't seem to enable autocompletion for the "rb" module used for
> Python plugins. I realize that the rb module doesn't really seem to
> exist outside of Rhythmbox. Even though, is there a way to enable
> autocompletion (in whatever IDE)? It would help a beginner to see all
> the possibilities in the rb module.

I don't know about autocompletion, but functions for the rb module are
in 2 places in the source:

- plugins/rb/* : a couple small convenience functions/classes
- bindings/python/rb.defs : This is where most of the c->python
bindings are stored. It's a lisp file that maps functions between the
2 languages. It's a little difficult to read, but you can sort of
figure out what each function does from its name.

For example, the function shell.notify_custom, which pops up a
libnotify notification is defined as:

(define-method notify_custom
  (of-object "RBShell")
  (c-name "rb_shell_notify_custom")
  (return-type "none")
  (parameters
    '("guint" "timeout")
    '("const-char*" "primary")
    '("const-char*" "secondary")
    '("GdkPixbuf*" "pixbuf")
    '("gboolean" "requested")
  )
)

So working from the top, we have a method called notify_custom, which
is a method of RBShell objects, maps to the C function
rb_shell_notify_custom, doesn't return a value, and takes 5 parameters
of certain types (integer, string, string, GdkPixbuf, boolean). You
can also run 'dir(rb)' in the python console to just get the names of
all the things in the module.

Hope this helps,
-Adam


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]