[Geany-Devel] Python question

Matthew Brush mbrush at xxxxx
Fri Apr 25 06:39:22 UTC 2014

On 14-04-24 11:35 PM, Matthew Brush wrote:
> On 14-04-24 09:44 PM, Pavel Roschin wrote:
>> I'm played with GeanyPy plugin and faced with a problem.
>> Here is the source code I created to get current document from sidebar:
>>     def press(self, widget, event, data=None):
>>         if event.button != 2:
>>             return
>>         mod, it = widget.get_selection().get_selected()
>>         doc = mod.get(it, 2)[0]
>> According to sidebar.c, mod.get(it, 2) should return pointer to Document.
> This isn't supported/recommended to do in either Geany plugin API or
> GeanyPy, but see below.
>> But Python doesn't know that this is document and doc variable in this
>> example has type GPointer. How can I access to this document from
>> python plugin?
>> P.S. I tried to use ctypes.cast, no success. Currently I'm addressing
>> document
>> with a file path but it is a hack and isn't working for symlinks.
> If you really want to, maybe try to call the C function
> `Document_create_new_from_geany_document()` (in
> src/geanypy-document.[ch]) which is used by GeanyPy internally, but
> should be callable somehow from Python.

... Unless all you want to do is get the current/active document, in 
which case just call `geany.document.get_current()` from Python.

Matthew Brush

More information about the Devel mailing list