Forum > Other

LCL GTK3 bindings

(1/3) > >>

valdir.marcos:
There is another conversation about Lazarus and GTK3 bindings on the topic below:

Lazarus Release Candidate 1 of 3.0
https://forum.lazarus.freepascal.org/index.php/topic,63867.135.html

Can an administrator or a moderator move those GTK3 related posts from there (page 10) to here?

Thanks.

JuhaManninen:
Below is a quote copied from the "Lazarus Release Candidate 1 of 3.0" thread.
I have admin rights of some level but I don't know how to move single posts between threads. My GUI has a "split thread" button only.


--- Quote from: valdir.marcos on September 03, 2023, 06:51:45 pm ---I am still gathering information about GTK3 status in Lazarus before MR.

As a matter of fact, it seems to me that the whole process involving GTK3 in Lazarus should be done from scratch, in a new branch, including create a new gir2pascal tool.

This is a huge task that will take a long time journey to be done and the obvious problem is that nobody wants to lead and become the LCL-GTK3 bindings' maintainer because GTK core developers have a bad reputation of changing API/ABI all the time even after stabilization, and not listening to community requests and complaints, and not solving error tickets created by people outside their bubble...

As any other huge task, the process of making a new GTK3 interface in Lazarus will demand new tools to automatize things such as development, testing and documentation as much as possible and create a new manual for future new contributtors. And even some money here and there...

There will propably be many complaints about why it is taking so long to be done...

And after all that work, there will propably be complaints about replacing the 10-year-old-development "incomplete GTK3 version 1" with the most recent "complete GTK3 version 2" in Lazarus 5.0 or 6.0...

As the creator of LCL-GTK2, LCL-GTK3 version 1, LCL-Qt4, LCL-Qt5 and LCL-Qt6 bindings, what do you think?

--- End quote ---
You addressed Zeljko with your question. I remember he explained in some forum post or e-mail earlier that the basic design of LCL-GTK3 good. There are 2 levels of class structures to make things more clear.
LCL-Cocoa is somewhat following the design of LCL-GTK3 if I understood right.
They are not like the GTK1/Gtk2 mess. LCL-Gtk2 was modified from LCL-GTK1, initially with IFDEFs but then copied to its own widgetset folder. It has lots of old historical package and was dumped when implementing LCL-GTK3.

BTW, Zeljko is not the creator of LCL-GTK2.
He created the initial version of LCL-GTK3 and earlier he created + maintains LCL-QTx.

My own knowledge about any widgetset code is poor. I have other priorities and areas of interest where I use my limited time and capacity.
I hope Zeljko explains the LCL-GTK3 situation more.
I agree there should be a thorough documentation about how to implement a widgetset. The whole higher level code supporting widgetsets could possibly be improved, too.

zeljko:
All I can say that there's a lot of talking around what we (developers) have to do, but no one except 2 dozen of us provided some code.
LCL-Gtk3 is there, not in bad shape, but with lot of things to be implemented. So volunteers with patches are welcome.
Also, if someone is interested to create gtk3 again from the ground zero, welcome :)

colo:
I started a similar thread a while ago.

Unfortunately, I lack much of the skillset needed to improve the situation of LCL's GTK3 support, but I would happily throw some funds (caveat: I'm just a private individual and not rich, so please don't expect large sums to go around  ::)) at people investing their expertise and time to make it happen.

valdir.marcos:

--- Quote from: zeljko on September 04, 2023, 10:03:10 pm ---All I can say that there's a lot of talking around what we (developers) have to do, but no one except 2 dozen of us provided some code.
--- End quote ---
I understand and agree.


--- Quote ---LCL-Gtk3 is there, not in bad shape, but with lot of things to be implemented. So volunteers with patches are welcome.
Also, if someone is interested to create gtk3 again from the ground zero, welcome :)
--- End quote ---
Thanks for sharing your view-point.

It seems that I am not the only one studying GTK3 and trying to help:

lcl: gtk3: clean up
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commit/f9709f6d59ea837bc0315e22237e9a0ebae9eeae

GTK3: Updated Gtk3 unit generated with new gir2pas version.
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commit/a90922b2f28d77fd4b0cc37fca8bfc492cb69958

GTK3: Updated Gtk3 units generated with new gir2pas version.
https://gitlab.com/freepascal.org/lazarus/lazarus/-/merge_requests/207

Navigation

[0] Message Index

[#] Next page

Go to full version