GeanyPyGeanyPy is a set of Python C extensions which wrap Geany's regular C plugin API. It allows writing custom Geany plugins in the Python language and interact with Geany's exposed plugin API.
Here's the HelloWorld example plugin from Geany's Plugin HowTo using GeanyPy:
import gtk
import geany
class HelloWorld(geany.Plugin):
__plugin_name__ = "HelloWorld"
__plugin_version__ = "1.0"
__plugin_description__ = "Just another tool to say hello world"
__plugin_author__ = "John Doe (john.doe@example.org)"
def __init__(self):
self.menu_item = gtk.MenuItem("Hello World")
self.menu_item.show()
geany.main_widgets.tools_menu.append(self.menu_item)
self.menu_item.connect("activate", self.on_hello_item_clicked)
def cleanup(self):
self.menu_item.destroy()
def on_hello_item_clicked(widget, data):
geany.dialogs.show_msgbox("Hello World")
For more information, see the README file.
GeanyPy's documentation although incomplete, can be found here:
http://readthedocs.org/docs/geanypy/en/latest/
Geany's plugin API documentation is also very useful:
http://www.geany.org/manual/reference/
To build GeanyPy you need the following dependencies:
If you're using a Debian-based distro, you can probably use the following command to install the dependencies (except for Geany 0.21 currently):
$ apt-get install
python python-dev python-gtk2 python-gtk2-dev
You can download this project in either zip or tar formats.
You can also clone the project with Git by running:
$ git clone git://github.com/codebrainz/geanypy
First you need to know where Geany is installed:
$ GEANY_PREFIX=`pkg-config --variable=prefix geany`The you can install as normal:
$ ./autogen.sh $ ./configure --prefix=$GEANY_PREFIX $ make # make installYou should be able to force a specific version of Python to be used, by using the
PYTHON_VERSION environment variable, but I've only tested with 2.6.6 so far. I imagine 2.7 series will also work fine.
GPLv2
Matthew Brush (codebrainz [at] codebrainz [dot] ca)
Colomban Wendling (ban [at] herbesfolles [dot] org)
Matthew Brush (codebrainz [at] codebrainz [dot] ca)