Hello,
I also don't like the idea of having completely separated plugin versions, one for GTK2 and one for GTK3. But I also do not like to have my code littered with #ifdef's.
I am not sure if we can simply handle all things with some macro's in a header. What about writing some compatibility code for the plugins in the common utils lib? So plugins can share the compatibility code and the #ifdef's would only be in the common utils lib. It might mean an extra function call but IMHO that is acceptable.
Regards, Lars
On 24.02.2018 03:53, Matthew Brush wrote:
On 2018-02-23 11:53 AM, Lars Paulsen wrote:
Hello All,
I have ported the scope plugin to GTK3. During that work I also noticed some deprecation warnings for the workbench plugin which I did create not long ago and as suggested by the HACKING file I did write it for GTK2.
If I port a plugin to GTK3 should it still support GTK2? Should we change the HACKING file regarding the preferred GTK version to prevent people from writing new plugins based on GTK2?
Hi,
For the average plugin with minimal dependencies I would recommend to support both since it's so easy. You can put all of your version specific stuff into a single compatibility header (and/or re-use Geany's) so you don't need to litter your code with #ifdef stuff very much.
Most distros, as well as the Windows and MacOS releases are still shipping the GTK+2 version of Geany/Geany-Plugins and it's the build system default as well, so if you care about supporting a wide user base, supporting both versions is a good idea.
Regards, Matthew Brush _______________________________________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel