[Geany-devel] Keybindings for GeanyPy
Lex Trotman
elextr at xxxxx
Sat Aug 6 06:01:15 UTC 2011
On 6 August 2011 15:05, Matthew Brush <mbrush at codebrainz.ca> wrote:
> On 08/05/11 21:32, Lex Trotman wrote:
>>
>> Sounds fair, I havn't used more than about 2Gb of my 4Gb that I have
>> noticed, despite firefox's best efforts.
>>
>> BTW what are the restrictions on what Python can be used when Geany
>> calls a Python callback, I guess everything has to be a function that
>> runs to completion. Can it be a closure, can it use yield, can it use
>> threads, can it do async I/O so as not to block Geany?
>>
>
> More or less anything Python itself supports, including Global Interpreter
> Lock [1]. GeanyPy pretty much only the Python X.X interpreter, and
> pre-loades the Geany Python package (written in C) which glues Geany's C API
> to Python's C API.
>
> [1] http://wiki.python.org/moin/GlobalInterpreterLock
Ok, so my Python plugin can start an I/O bound thread in its
plugin_init routine and have that thread call a Geany function like
updating the status bar when the I/O completes?
Be very careful, both answers are wrong ;-)
And from your next post:
> I forgot to mention, for callbacks, I was thinking of using PyGTK/Gobject-introspection on the GeanyObject which has all the signals on it (IIR). So plugins would do:
> geany.object.connect('document-open', on_document_open_handler)
Does that allow on_document_open_handler() to be a bound member function?
Cheers
Lex
PS I'm not intending to be negative about Geany Python plugins, great
idea, but from experience I think you will find some wrinkles in the
real world.
More information about the Devel
mailing list