geanypy icon indicating copy to clipboard operation
geanypy copied to clipboard

Gtk3

Open sagarchalise opened this issue 10 years ago • 14 comments

Gtk3 branch which includes gtk3 and gtk2 compatible codebase and also keybinding stuffs. Also has some changes to plugin manager which takes geany main widget as parent.

sagarchalise avatar Aug 07 '13 03:08 sagarchalise

Put back our beloved trailing newlines!!! (I'm serious, one new line at the end, please ;)

b4n avatar Aug 07 '13 11:08 b4n

Some of the commits (like 42b4e4a) are really hard to review due to changing almost every line (I guess to change indentation style to PEP8-compliant). I'll have another try later seeing if I can restore those changes so the history is easier to follow. Ideally, changes that aren't related to GTK3 port (like style changes and 2829929, 3e8b0b8, 7f01516, etc) would be in separate pull requests.

codebrainz avatar Aug 07 '13 22:08 codebrainz

Just a heads up, I started with pure gtk3 port and then started considering gtk2 compatibilies. I finally maintained a tag for pure-gtk3 but there are some commits which may take you back and forth the compatibilies. Basically python codes with from gi.repository import Gtk rather than from gi.repository import pygtkcompat are these codes.

sagarchalise avatar Aug 08 '13 01:08 sagarchalise

I'm not forcing you (I don't agree with this), info only :) On Debian some plugins (debugger, geanypy, multiterm and scope) have been disabled because they are GTK2-only (git-rep.: geany, geany-plugins). (Geany v1.32 and plugins are not yet available in the package repository.)

Skif-off avatar Jan 14 '18 12:01 Skif-off

Geany 1.32 is available in Debian unstable and testing.

A new method of supporting plugins that require interpreters has been developed by @kugel- which allows Python plugins to be first class citizens and to access GTK3 by gobjects introspection. It is in his github fork but not released yet. This is more likely to be the future direction of interpreted plugins.

elextr avatar Jan 14 '18 23:01 elextr

Further update, Geany-plugins 1.32 is going through the Debian NEW process because there is a new plugin this release, thats delaying it.

elextr avatar Jan 15 '18 01:01 elextr

@elextr thanks for spreading the word about peasy. One correction though, peasy is in fact released. Latest version is 0.5. See https://github.com/kugel-/peasy/releases

kugel- avatar Jan 15 '18 07:01 kugel-

@kugel- I meant released within the Geany infrastructure where users can find it.

As astonishing as it may seem, some users have not thought to look in your github for it :grin:, and neither have the distro packagers.

elextr avatar Jan 15 '18 08:01 elextr

@elextr & @kugel-, thanks for the plugin info and thanks for the plugin, Peasy looks an interesting project, I wanted to try rebuild Geany with GTK3 and I will try Peasy. If I can deal with examples and documentation :)) I think that Lua-part can works with package.path/package.cpath without additional movements (unlike GeanyLua), but at first glance, writing plugins are more harder than with GeanyLua. At least for new Lua users, like I am :)

As astonishing as it may seem, some users have not thought to look in your github for it :grin:, and neither have the distro packagers.

And, most importantly, Peasy has not description on plugins.geany.org. Or I couldn't find it :)

Skif-off avatar Jan 15 '18 09:01 Skif-off

@Skif-off If you do have some plugins that are dependent on geanypy then you can use https://github.com/sagarchalise/geanypy/tree/proxy-gtk3 for gtk3 compatibility as other plugins are not yet compatible with peasy.

sagarchalise avatar Jan 17 '18 04:01 sagarchalise

I hate to make ads for peasy in this repo, but please give it a try. Converting a geanypy plugin should be little effort. Peasy's strength is that it automatically exports all of Geany's APIs via gobject-introspection, that is new APIs don't have to be ported manually.

kugel- avatar Jan 18 '18 06:01 kugel-

@kugel- don't hesitate to advertise. If it replaces thousands of lines of manually written C code with automatic bindings, it's a win. The important part of GeanyPy is a thin layer that makes it somewhat idiomatic to use Geany's API from Python.

codebrainz avatar Jan 18 '18 06:01 codebrainz

@kugel- I am actually all in for peasy and gobject introspection way. I have ported one plugin from geanypy to peasy. I do think there needs to be documentation on porting to peasy. Also, I couldnot get plugin to load from $HOME/.config/geany/plugins as with geanypy

sagarchalise avatar Jan 18 '18 13:01 sagarchalise

Feedback is really welcome. Please file issues on my peasy repo!

kugel- avatar Jan 18 '18 14:01 kugel-