www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Where do I learn to use GtkD

reply karabuta <karabutaworld gmail.com> writes:
Gtk3 from python3 has got I nice book with examples that are not 
so advanced but enough to get you doing real work(from a beginner 
point of view). GtkD seem to have changed the API structure 
compared to python3 Gtk3 and the demo examples just "show-off" 
IMO :). The documentation is really^ not good :)

Any help on where I can get better leaning materials(GtkD)? Repo, 
blogs post, etc please
Mar 13 2016
next sibling parent reply WebFreak001 <janju007 web.de> writes:
On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
there isn't much about GtkD specificly, but as a start there is this: https://sites.google.com/site/gtkdtutorial/ If you get the basics from that site how the D specific stuff gtkmm, etc. But gtkd is just a nice wrapper for gtk. I'm not really someone who can write tutorials but you or someone else could make some tutorials for it. Might attract more people. If you want to find the D function name for some C gtk function you can just search for the function in their github repository: https://github.com/gtkd-developers/GtkD and in the (not quite complete) documentation you can find widgets you might want to use. Its a great place for getting ideas on which widgets to use imo. http://api.gtkd.org/src/gtk/AboutDialog.html
Mar 13 2016
parent reply karabuta <karabutaworld gmail.com> writes:
On Sunday, 13 March 2016 at 19:34:36 UTC, WebFreak001 wrote:
 On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
there isn't much about GtkD specificly, but as a start there is this: https://sites.google.com/site/gtkdtutorial/
Funny thing is that I just found that and was about to post it :) Thanks

I will do that right away :)
 But gtkd is just a nice wrapper for gtk. I'm not really someone 
 who can write tutorials but you or someone else could make some 
 tutorials for it. Might attract more people.
Great idea. I thinks I will just keep my code and use it as a guide/tutorial in my repo just like the pygtk book.
 and in the (not quite complete) documentation you can find 
 widgets you might want to use. Its a great place for getting 
 ideas on which widgets to use imo. 
 http://api.gtkd.org/src/gtk/AboutDialog.html
That thing really need some work to make it consumable :)
Mar 13 2016
parent reply Gerald <gerald.b.nunn gmail.com> writes:
On Sunday, 13 March 2016 at 19:53:35 UTC, karabuta wrote:
 On Sunday, 13 March 2016 at 19:34:36 UTC, WebFreak001 wrote:
 and in the (not quite complete) documentation you can find 
 widgets you might want to use. Its a great place for getting 
 ideas on which widgets to use imo. 
 http://api.gtkd.org/src/gtk/AboutDialog.html
That thing really need some work to make it consumable :)
I contributed a script (makeddocs.sh) to generate the documentation in ddox instead of candydocs, ddox is miles better then candydocs and using it is way more efficient IMHO.
Mar 13 2016
parent reply Karabuta <karabutaworld gmail.com> writes:
On Monday, 14 March 2016 at 03:46:02 UTC, Gerald wrote:
 On Sunday, 13 March 2016 at 19:53:35 UTC, karabuta wrote:
 On Sunday, 13 March 2016 at 19:34:36 UTC, WebFreak001 wrote:
 and in the (not quite complete) documentation you can find 
 widgets you might want to use. Its a great place for getting 
 ideas on which widgets to use imo. 
 http://api.gtkd.org/src/gtk/AboutDialog.html
That thing really need some work to make it consumable :)
I contributed a script (makeddocs.sh) to generate the documentation in ddox instead of candydocs, ddox is miles better then candydocs and using it is way more efficient IMHO.
Where can I find and use?
Apr 04 2016
parent Mike Wey <mike-wey example.com> writes:
On 04/04/2016 09:33 PM, Karabuta wrote:
 On Monday, 14 March 2016 at 03:46:02 UTC, Gerald wrote:
 On Sunday, 13 March 2016 at 19:53:35 UTC, karabuta wrote:
 On Sunday, 13 March 2016 at 19:34:36 UTC, WebFreak001 wrote:
 and in the (not quite complete) documentation you can find widgets
 you might want to use. Its a great place for getting ideas on which
 widgets to use imo. http://api.gtkd.org/src/gtk/AboutDialog.html
That thing really need some work to make it consumable :)
I contributed a script (makeddocs.sh) to generate the documentation in ddox instead of candydocs, ddox is miles better then candydocs and using it is way more efficient IMHO.
Where can I find and use?
https://github.com/gtkd-developers/GtkD/blob/master/makeddox.sh running ./makedocs.sh should generate the ddox documentation. -- Mike Wey
Apr 04 2016
prev sibling next sibling parent Gerald <gerald.b.nunn gmail.com> writes:
On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
I starting learning both D and GTK back in October, I found that a combination of looking at an example D GtkD app, Grestful (https://github.com/Gert-dev/grestful), as well as examples in other languages worked fine for me. I started with a simple program as a learning example and then moved up from there. I'm still learning every day but it's coming along. I know you are already aware of Terminix but I have another, simpler app at https://github.com/gnunn1/vgrep as well. Finally, I have some entries on my blog about using GtkD based on my experiences, you can check them out at http://www.gexperts.com.
Mar 13 2016
prev sibling next sibling parent reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Sun, 2016-03-13 at 19:28 +0000, karabuta via Digitalmars-d-learn
wrote:
 Gtk3 from python3 has got I nice book with examples that are not=C2=A0
 so advanced but enough to get you doing real work(from a beginner=C2=A0
 point of view). GtkD seem to have changed the API structure=C2=A0
 compared to python3 Gtk3 and the demo examples just "show-off"=C2=A0
 IMO :). The documentation is really^ not good :)
Each programming language will have a slightly different idiomatic way of working with GObject introspection, so it is no surprise that the Python API to GTK+3 is somewhat different to the D one. (And then there is gtkmm.) The D source binding creation appears not to deal with the comments (which would be very hard I suspect) so they retain their original C- ness. This can be very irritating, and indeed annoying. However, at least there is: http://api.gtkd.org/src/gtk/AboutDialog.html Do not be confused by the URL or the start point, it is actually the full API, just with a weird UX. Mayhap some of us should club together and make this better.=C2=A0 The demos in: https://github.com/gtkd-developers/GtkD/tree/master/demos are OK for initial learning, but seemingly rapidly run out of usefulness. Which leads to my feeling that there are far too few examples of GtkD use out there that are: a. Idiomatic. b. Up to date. c. Reviewed and recognized as good. As Gerald points out he has a couple of applications that are useful for various approaches and techniques. https://github.com/gnunn1/vgrep https://github.com/gnunn1/terminix
 Any help on where I can get better leaning materials(GtkD)? Repo,=C2=A0
 blogs post, etc please
There is my own adventure into using GtkD, especially the GStreamer binding, I have no idea if this is good code, and it may soon have to stop being FOSS (and so will stagnate). https://github.com/russel/Foscam_Client What we need here is a collection of people reviewing each others GtkD code and having a listing board somewhere on the GtkD site of all the codes available and what they show. It is the annotations as much as the code itself that is needed for learning. Without comparative review, we may end up propagating bad code and bad GTK use. So rather than just email as here, we should be looking to create a "living document" on the wiki =E2=80=93 not an historical type thing but an always up-to-date, curated document.=C2=A0 --=C2=A0Russel.=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=3DDr Russel Winder=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0t:= +44 20 7585 2200=C2=A0=C2=A0=C2=A0voip: sip:russel.winder ekiga.net41 Buck= master Road=C2=A0=C2=A0=C2=A0=C2=A0m: +44 7770 465 077=C2=A0=C2=A0=C2=A0xmp= p: russel winder.org.ukLondon SW11 1EN, UK=C2=A0=C2=A0=C2=A0w: www.russel.o= rg.uk=C2=A0=C2=A0skype: russel_winder
Mar 14 2016
parent Gerald <gerald.b.nunn gmail.com> writes:
On Monday, 14 March 2016 at 07:38:43 UTC, Russel Winder wrote:
 What we need here is a collection of people reviewing each 
 others GtkD code and having a listing board somewhere on the 
 GtkD site of all the codes available and what they show. It is 
 the annotations as much as the code itself that is needed for 
 learning.

 Without comparative review, we may end up propagating bad code 
 and bad GTK use.

 So rather than just email as here, we should be looking to 
 create a "living document" on the wiki – not an historical type 
 thing but an always up-to-date, curated document.
I have some generic GtkD code in Terminix of varying quality that at some point in the future I want to move to a library in order to re-use it between my projects. This code mostly consists of helpers or things that make working with GtkD more D'ish, i.e enabling the use of foreach to iterate over a TreeModel/TreeIter. Having said that, I don't have the time to take on the role of being the primary maintainer for such a library, if you want to take it on though I'm happy to be an active contributor.
Mar 14 2016
prev sibling next sibling parent reply helxi <brucewayneshit gmail.com> writes:
On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Gtk3 from python3 has got I nice book with examples that are 
 not so advanced but enough to get you doing real work(from a 
 beginner point of view). GtkD seem to have changed the API 
 structure compared to python3 Gtk3 and the demo examples just 
 "show-off" IMO :). The documentation is really^ not good :)

 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
Sorry for the shameless self plug, and I know it's already too late. I have been working on porting some of the pygtk examples to GtkD and covered almost the half of it. For anyone who is reading this thread please check out the repo I mention bellow. For experienced users of GtkD, please leave your PRs and suggestions. https://gitlab.com/9898287/gtkdnotes
Oct 29 2018
next sibling parent Soulsbane <paul acheronsoft.com> writes:
On Tuesday, 30 October 2018 at 04:22:21 UTC, helxi wrote:
 On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 https://gitlab.com/9898287/gtkdnotes
Oh Wow! That's really nice. Thanks for putting this together! Much appreciated.
Oct 29 2018
prev sibling parent Ron Tarrant <rontarrant gmail.com> writes:
On Tuesday, 30 October 2018 at 04:22:21 UTC, helxi wrote:
 On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Gtk3 from python3 has got I nice book with examples that are 
 not so advanced but enough to get you doing real work(from a 
 beginner point of view). GtkD seem to have changed the API 
 structure compared to python3 Gtk3 and the demo examples just 
 "show-off" IMO :). The documentation is really^ not good :)

 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
Sorry for the shameless self plug, and I know it's already too late. I have been working on porting some of the pygtk examples to GtkD and covered almost the half of it. For anyone who is reading this thread please check out the repo I mention bellow. For experienced users of GtkD, please leave your PRs and suggestions. https://gitlab.com/9898287/gtkdnotes
So you know your posts weren't in vain, I've been struggling with one of the fundamentals of signals and buttons for the last three days and your notes got me out of the mire. Thanks, helxi.
Dec 23 2018
prev sibling parent reply Michelle Long <HappyDance321 gmail.com> writes:
On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Gtk3 from python3 has got I nice book with examples that are 
 not so advanced but enough to get you doing real work(from a 
 beginner point of view). GtkD seem to have changed the API 
 structure compared to python3 Gtk3 and the demo examples just 
 "show-off" IMO :). The documentation is really^ not good :)

 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
I will avoid using GTK for large projects. If can be used for simple things and you can automate a lot of acts(and use glade for UI design)... but it has some problems that will bite you in the long run. I'd just jump in to it, it's not too hard but hard to find the correct information. It will be a time investment of a few months. Might try nuklearD first. Seems to be better in many aspects.
Oct 30 2018
parent reply helxi <brucewayneshit gmail.com> writes:
On Tuesday, 30 October 2018 at 14:38:53 UTC, Michelle Long wrote:
 On Sunday, 13 March 2016 at 19:28:57 UTC, karabuta wrote:
 Gtk3 from python3 has got I nice book with examples that are 
 not so advanced but enough to get you doing real work(from a 
 beginner point of view). GtkD seem to have changed the API 
 structure compared to python3 Gtk3 and the demo examples just 
 "show-off" IMO :). The documentation is really^ not good :)

 Any help on where I can get better leaning materials(GtkD)? 
 Repo, blogs post, etc please
I will avoid using GTK for large projects. If can be used for simple things and you can automate a lot of acts(and use glade for UI design)... but it has some problems that will bite you in the long run.
Why is that, if I may ask? Is it the licensing concerns?
 I'd just jump in to it, it's not too hard but hard to find the 
 correct information. It will be a time investment of a few 
 months.

 Might try nuklearD first. Seems to be better in many aspects.
I believe the gtk stack is very comprehensive. It integrates to Linux desktops fairly well. Has nice power management rules, support for appID, and many widgets.
Oct 31 2018
parent Russel Winder <russel winder.org.uk> writes:
On Thu, 2018-11-01 at 03:46 +0000, helxi via Digitalmars-d-learn wrote:
[=E2=80=A6]
=20
 Why is that, if I may ask? Is it the licensing concerns?
=20
As with any programming language or framework, the biggest driver of opinion tends to be the personal prejudices of those who shout loudest and longest. --=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 Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk
Nov 01 2018