www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - GtkD: Dead or Alive?

reply dsimcha <dsimcha yahoo.com> writes:
I've been using GtkD for my Plot2kill plotting library, and overall it 
appears to be the most mature D GUI library available.  However, I've 
noticed that no commits have taken place for several months, and nobody 
seems to want to test the 64-bit support patch I submitted.

Is the lack of GtkD activity because the project is mature and not much 
still needs to be done, or because GtkD has been abandoned?
Mar 02 2011
next sibling parent reply David Bryant <bagnose gmail.com> writes:
I use GtkD for my yet-to-be-released personal project. I recently 
submitted a GtkD bug report recently and it didn't go anywhere, so I 
hand-patched the generated code locally.

I also maintain my own patch to allow it to build with the latest 
version of dmd-2 with warnings enabled.

On the whole GtkD works very well for me. I prefer using it to Gtkmm, 
the C++ bindings.

GtkD seems to be both mature _and_ abandoned :(

Just wanted to express my usage and interest in GtkD too.

On 03/03/11 15:45, dsimcha wrote:
 I've been using GtkD for my Plot2kill plotting library, and overall it
 appears to be the most mature D GUI library available. However, I've
 noticed that no commits have taken place for several months, and nobody
 seems to want to test the 64-bit support patch I submitted.

 Is the lack of GtkD activity because the project is mature and not much
 still needs to be done, or because GtkD has been abandoned?

Mar 02 2011
next sibling parent reply Stephan <spam extrawurst.org> writes:
On 03.03.2011 07:38, David Bryant wrote:
 I use GtkD for my yet-to-be-released personal project. I recently
 submitted a GtkD bug report recently and it didn't go anywhere, so I
 hand-patched the generated code locally.

 I also maintain my own patch to allow it to build with the latest
 version of dmd-2 with warnings enabled.

 On the whole GtkD works very well for me. I prefer using it to Gtkmm,
 the C++ bindings.

 GtkD seems to be both mature _and_ abandoned :(

 Just wanted to express my usage and interest in GtkD too.

 On 03/03/11 15:45, dsimcha wrote:
 I've been using GtkD for my Plot2kill plotting library, and overall it
 appears to be the most mature D GUI library available. However, I've
 noticed that no commits have taken place for several months, and nobody
 seems to want to test the 64-bit support patch I submitted.

 Is the lack of GtkD activity because the project is mature and not much
 still needs to be done, or because GtkD has been abandoned?


Could you provide this patched version of yours publicly ? I would be interested in it.
Mar 03 2011
next sibling parent Daniel Gibson <metalcaedes gmail.com> writes:
Am 03.03.2011 10:27, schrieb Russel Winder:
 On Thu, 2011-03-03 at 09:42 +0100, Stephan wrote:
 On 03.03.2011 07:38, David Bryant wrote:
 I use GtkD for my yet-to-be-released personal project. I recently
 submitted a GtkD bug report recently and it didn't go anywhere, so I
 hand-patched the generated code locally.

 I also maintain my own patch to allow it to build with the latest
 version of dmd-2 with warnings enabled.

 On the whole GtkD works very well for me. I prefer using it to Gtkmm,
 the C++ bindings.

 GtkD seems to be both mature _and_ abandoned :(

 Just wanted to express my usage and interest in GtkD too.

 On 03/03/11 15:45, dsimcha wrote:
 I've been using GtkD for my Plot2kill plotting library, and overall it
 appears to be the most mature D GUI library available. However, I've
 noticed that no commits have taken place for several months, and nobody
 seems to want to test the 64-bit support patch I submitted.

 Is the lack of GtkD activity because the project is mature and not much
 still needs to be done, or because GtkD has been abandoned?


Could you provide this patched version of yours publicly ? I would be interested in it.

Fork the code out of the dsource Subversion repository to a Git repository on GitHub perhaps? Then we could take our own forks and perhaps kick start development? Is there a D binding for Qt?

http://www.dsource.org/projects/qtd
Mar 03 2011
prev sibling next sibling parent dsimcha <dsimcha yahoo.com> writes:
On 3/3/2011 3:42 AM, Stephan wrote:
 On 03.03.2011 07:38, David Bryant wrote:
 I use GtkD for my yet-to-be-released personal project. I recently
 submitted a GtkD bug report recently and it didn't go anywhere, so I
 hand-patched the generated code locally.

 I also maintain my own patch to allow it to build with the latest
 version of dmd-2 with warnings enabled.

 On the whole GtkD works very well for me. I prefer using it to Gtkmm,
 the C++ bindings.

 GtkD seems to be both mature _and_ abandoned :(

 Just wanted to express my usage and interest in GtkD too.

 On 03/03/11 15:45, dsimcha wrote:
 I've been using GtkD for my Plot2kill plotting library, and overall it
 appears to be the most mature D GUI library available. However, I've
 noticed that no commits have taken place for several months, and nobody
 seems to want to test the 64-bit support patch I submitted.

 Is the lack of GtkD activity because the project is mature and not much
 still needs to be done, or because GtkD has been abandoned?


Could you provide this patched version of yours publicly ? I would be interested in it.

It's fairly quick and dirty and not well tested, but the patch is at http://www.dsource.org/projects/gtkd/ticket/95 .
Mar 03 2011
prev sibling parent reply David Bryant <bagnose gmail.com> writes:
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

 Could you provide this patched version of yours publicly ? I would be
 interested in it.

Here is the patch I apply. Note, that it is being applied to generated code, rather than fixing the problem at the root. However I'm yet to delve into running the code generator. As a linux user I believe I will need to get htod running under wine... Patch does the following: * Adds "-w -wi" flags to dmd. I use these to build my own software so gtkd must also compile correctly with these flags * Adds several "override" qualifiers to appease dmd with said flags enabled * Small changes to compile with recent changes to dmd 2.052 (core.vararg) * Fixes memory leak in cairo/Context (apparently there are more leaks though, I fixed this one because it brings my program to its knees)
Mar 03 2011
parent Mike Wey <mike-wey example.com> writes:
On 03/04/2011 12:35 AM, David Bryant wrote:
 Could you provide this patched version of yours publicly ? I would be
 interested in it.

Here is the patch I apply. Note, that it is being applied to generated code, rather than fixing the problem at the root. However I'm yet to delve into running the code generator. As a linux user I believe I will need to get htod running under wine... Patch does the following: * Adds "-w -wi" flags to dmd. I use these to build my own software so gtkd must also compile correctly with these flags * Adds several "override" qualifiers to appease dmd with said flags enabled * Small changes to compile with recent changes to dmd 2.052 (core.vararg) * Fixes memory leak in cairo/Context (apparently there are more leaks though, I fixed this one because it brings my program to its knees)

Thanks for the patch, i see you that some functions are commented out, are there any problems with these functions ? As for the code generator it doesn't need htod under wine. -- Mike Wey
Mar 04 2011
prev sibling next sibling parent Russel Winder <russel russel.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2011-03-03 at 09:42 +0100, Stephan wrote:
 On 03.03.2011 07:38, David Bryant wrote:
 I use GtkD for my yet-to-be-released personal project. I recently
 submitted a GtkD bug report recently and it didn't go anywhere, so I
 hand-patched the generated code locally.

 I also maintain my own patch to allow it to build with the latest
 version of dmd-2 with warnings enabled.

 On the whole GtkD works very well for me. I prefer using it to Gtkmm,
 the C++ bindings.

 GtkD seems to be both mature _and_ abandoned :(

 Just wanted to express my usage and interest in GtkD too.

 On 03/03/11 15:45, dsimcha wrote:
 I've been using GtkD for my Plot2kill plotting library, and overall it
 appears to be the most mature D GUI library available. However, I've
 noticed that no commits have taken place for several months, and nobod=



 seems to want to test the 64-bit support patch I submitted.

 Is the lack of GtkD activity because the project is mature and not muc=



 still needs to be done, or because GtkD has been abandoned?


Could you provide this patched version of yours publicly ? I would be=20 interested in it.

Fork the code out of the dsource Subversion repository to a Git repository on GitHub perhaps? Then we could take our own forks and perhaps kick start development? Is there a D binding for Qt? --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Mar 03 2011
prev sibling parent Russel Winder <russel russel.org.uk> writes:
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2011-03-03 at 12:15 +0100, Gour wrote:
 On Thu, 03 Mar 2011 09:27:19 +0000
 Russel Winder <russel russel.org.uk> wrote:
=20
 Is there a D binding for Qt?

https://bitbucket.org/qtd/repo

What's the relationship of this to: http://www.dsource.org/projects/qtd ? (Options being: a) fork; b) mirror; and c) something totally different ;-) Thanks. =20 --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Mar 03 2011
prev sibling next sibling parent Gour <gour atmarama.net> writes:
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, 03 Mar 2011 09:27:19 +0000
Russel Winder <russel russel.org.uk> wrote:

 Is there a D binding for Qt?

https://bitbucket.org/qtd/repo --=20 =E2=80=9CIn the material world, conceptions of good and bad are all mental speculations=E2=80=A6=E2=80=9D (Sri Caitanya Mahaprabhu) http://atmarama.net | Hlapicina (Croatia) | GPG: CDBF17CA
Mar 03 2011
prev sibling next sibling parent Gour <gour atmarama.net> writes:
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, 03 Mar 2011 12:43:29 +0000
Russel Winder <russel russel.org.uk> wrote:

 (Options being: a) fork; b) mirror; and c) something totally
 different ;-)

Afaik, it's d) official repository of the project ;) Sincerely, Gour --=20 =E2=80=9CIn the material world, conceptions of good and bad are all mental speculations=E2=80=A6=E2=80=9D (Sri Caitanya Mahaprabhu) http://atmarama.net | Hlapicina (Croatia) | GPG: CDBF17CA
Mar 03 2011
prev sibling next sibling parent reply Trass3r <un known.com> writes:
 Is the lack of GtkD activity because the project is mature and not much 
 still needs to be done, or because GtkD has been abandoned?

Given that gtk+ 3 has just been released recently and GtkD doesn't even seem to be up-to-date with the 2.x branch I wouldn't call it to be finished ;)
Mar 03 2011
parent Trass3r <un known.com> writes:
Oh btw, and what about support for something like
http://library.gnome.org/devel/gtk/stable/GtkBuilder.html
Mar 03 2011
prev sibling parent reply Mike Wey <mike-wey example.com> writes:
On 03/03/2011 06:15 AM, dsimcha wrote:
 I've been using GtkD for my Plot2kill plotting library, and overall it
 appears to be the most mature D GUI library available. However, I've
 noticed that no commits have taken place for several months, and nobody
 seems to want to test the 64-bit support patch I submitted.

 Is the lack of GtkD activity because the project is mature and not much
 still needs to be done, or because GtkD has been abandoned?

It's not abandoned, but i haven't had enough spare time lately to work on it. there is still enough to be done though. The biggest issues are probably: * Update to GTK 3.0 * Support GtkBuilder. * There are memoryleaks. -- Mike Wey
Mar 03 2011
next sibling parent reply David Bryant <bagnose gmail.com> writes:
Hi Mike, It's good to hear from an official GtkD maintainer that the 
project isn't dead!

I understand that GTK 3.0 is supposed to be more amenable to language 
bindings than previous GTK versions but don't have any details of how it 
achieves this. This is good from a GtkD point-of-view. I think it's 
important to have GTK 3.0 support in GtkD early because by the time some 
GtkD projects mature GTK 3.0 will be in wide use.

The GtkD repository contains the already generated D bindings. I was 
deterred from attempting the generation step myself because it involved 
setting up wine and htod. I can't help but wonder how much effort would 
be involved in an htod alternative, even if only worked for the 
GTK/glib/etc header files, which follow very consistent patterns...

The callback scheme in GtkD is quite simple and I wonder if you've 
considered anything more elaborate? Gtkmm leverages a callback framework 
called libsigc++. It allows fancy things like binding arguments to 
callbacks, amongst other things.

Would you like help working on GtkD? I will have another go at setting 
up wine/htod and performing the code generation step. Then I will 
attempt to understand how that step works.

Regards,
Dave

On 04/03/11 05:41, Mike Wey wrote:
 On 03/03/2011 06:15 AM, dsimcha wrote:

 It's not abandoned, but i haven't had enough spare time lately to work
 on it. there is still enough to be done though.

 The biggest issues are probably:
 * Update to GTK 3.0
 * Support GtkBuilder.
 * There are memoryleaks.

Mar 03 2011
parent Mike Wey <mike-wey example.com> writes:
On 03/04/2011 12:55 AM, David Bryant wrote:
 Hi Mike, It's good to hear from an official GtkD maintainer that the
 project isn't dead!

 I understand that GTK 3.0 is supposed to be more amenable to language
 bindings than previous GTK versions but don't have any details of how it
 achieves this. This is good from a GtkD point-of-view. I think it's
 important to have GTK 3.0 support in GtkD early because by the time some
 GtkD projects mature GTK 3.0 will be in wide use.

I haven't looked at it jet, but if it offers better support for language bindings that would be great.
 The GtkD repository contains the already generated D bindings. I was
 deterred from attempting the generation step myself because it involved
 setting up wine and htod. I can't help but wonder how much effort would
 be involved in an htod alternative, even if only worked for the
 GTK/glib/etc header files, which follow very consistent patterns...

htod shouldn't be needed, at one point the code generator generated some opengl headers, but those are only used for the demos, and generating the opengl headers is currently disabled in the generator.
 The callback scheme in GtkD is quite simple and I wonder if you've
 considered anything more elaborate? Gtkmm leverages a callback framework
 called libsigc++. It allows fancy things like binding arguments to
 callbacks, amongst other things.

 Would you like help working on GtkD? I will have another go at setting
 up wine/htod and performing the code generation step. Then I will
 attempt to understand how that step works.

 Regards,
 Dave

Help would be nice, i should probably write down some of the idea's i have. -- Mike Wey
Mar 04 2011
prev sibling parent Trass3r <un known.com> writes:
 The GtkD repository contains the already generated D bindings. I was  
 deterred from attempting the generation step myself because it involved  
 setting up wine and htod. I can't help but wonder how much effort would  
 be involved in an htod alternative, even if only worked for the  
 GTK/glib/etc header files, which follow very consistent patterns...

Yeah htod sucks anyway. Maybe use the tools from VisualD, see the bottom: http://dsource.org/projects/visuald/wiki/Features
Mar 04 2011