digitalmars.D.announce - GtkD Blog Now Up and Running
- Ron Tarrant (15/15) Jan 25 2019 Hi y'all,
- Ron Tarrant (2/2) Jan 25 2019 PS: And let me know if you find any inaccuracies or if something
- dangbinghoo (8/10) Jan 26 2019 Great Job! ^_^
- WebFreak001 (12/27) Jan 25 2019 nice! I love seeing tutorials for D stuff, and GtkD is something
- Ron Tarrant (6/8) Jan 29 2019 LOL! Not my experience with dub, but I take your point.
- Ron Tarrant (6/6) Jan 29 2019 Thanks for all the kind words, guys.
- Jordan Wilson (6/12) Jan 29 2019 After many years of using CodeBlocks, late last year I forced
- WebFreak001 (9/17) Jan 29 2019 hey it's easy, you can also use SDL! :p
- Ron Tarrant (8/16) Jan 29 2019 Okay, so I create a file, name it dub.sdl and put this in it:
- WebFreak001 (11/33) Jan 29 2019 yeah just put it in your project folder, not the source folder,
- Johannes Loher (32/34) Jan 29 2019 The code file should be in a subfolder called "source". This is
- =?UTF-8?Q?Christian_K=c3=b6stlin?= (23/51) Jan 29 2019 Yes. Its as simple as:
- Ron Tarrant (48/49) Jan 30 2019 Okay, there's definitely something odd going on with my set up. I
- Jacob Carlborg (10/13) Jan 30 2019 It's Optlink being stupid as always. If you want to figure out what's
- Mike Wey (6/21) Jan 30 2019 This is whats going on: https://issues.dlang.org/show_bug.cgi?id=15418
- Ron Tarrant (3/8) Jan 31 2019 Ah! Thanks, Mike. Does the lack of an answer to the last question
- Mike Wey (4/15) Jan 31 2019 Yes, the issue is still open / on-going.
- Petar Kirov [ZombineDev] (12/21) Jan 31 2019 The issue is unrelated to dub. It only has to do with object
- Kagamin (4/9) Jan 31 2019 I don't think you still need ms toolchain installed: dmd comes
- Ron Tarrant (9/11) Feb 02 2019 Too true. It's one of the reasons I'm sticking with dmd for now.
- Ron Tarrant (11/12) Feb 06 2019 This morning, after creating the file:
- Ron Tarrant (6/10) Feb 06 2019 Oddly, if I type:
- Ron Tarrant (3/11) Jan 31 2019 I think I'll wait, but thanks for letting me know.
- Neia Neutuladh (9/13) Jan 29 2019 Might I recommend instead:
- Jacob Carlborg (7/18) Jan 30 2019 That's what the dub.selections.json file is for. It will lock down the
- Brian (1/1) Jan 25 2019 Thank you :)
- Andre Pany (8/23) Jan 26 2019 Great posts! Is there a reason you do not use dub? With dub it is
- Andre Pany (10/38) Jan 26 2019 There was even the idea to support custom skeletons for dub init:
- Antonio Corbi (11/26) Jan 26 2019 Hi Ron,
- Ron Tarrant (2/11) Jan 29 2019 Thanks, Antonio. I'll take a look.
- Ron Tarrant (5/8) Jan 30 2019 Took a look this morning. I'd come across the Brit's Eye View
- Antonio Corbi (3/12) Jan 30 2019 You are welcome, :)
- Kagamin (10/13) Jan 29 2019 By OOP you mean user controls? Hmm... I'd say, user control is an
- sanjayss (4/19) Jan 30 2019 Some simple screenshots would be nice to see -- but good job on
- Ron Tarrant (13/16) Jan 31 2019 I thought about it, but then realized that even though it would
Hi y'all, As of January 11, 2019, http://gtkdcoding.com is up. It's a blog, it's a github page, it's simple examples of how to use GtkD for all that GUI stuff. My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time. This being Friday, the 4th post went up this morning. Please do let me know if you find it useful. And why did I wait until now to announce? Well, on day one, it seemed a bit silly to announce with only one post. After the second and third, well... I still didn't feel there was enough to warrant excitement. But four posts? Now that's something to speak up about, ain't it? Yup. That's what I thought, too.
Jan 25 2019
PS: And let me know if you find any inaccuracies or if something isn't clear.
Jan 25 2019
On Friday, 25 January 2019 at 21:19:45 UTC, Ron Tarrant wrote:PS: And let me know if you find any inaccuracies or if something isn't clear.Great Job! ^_^ and for dub type of project, just add `gtk-d` as a dependency, it works well both on windows and linux right out of box, the only thing is on windows we need to install runtime for gtkd.org first, and ldc or dmd only support MS buildtools to link aginst with gtkd runtime, the default mingw linker will not work. Thanks for the great work!
Jan 26 2019
On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:Hi y'all, As of January 11, 2019, http://gtkdcoding.com is up. It's a blog, it's a github page, it's simple examples of how to use GtkD for all that GUI stuff. My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time. This being Friday, the 4th post went up this morning. Please do let me know if you find it useful. And why did I wait until now to announce? Well, on day one, it seemed a bit silly to announce with only one post. After the second and third, well... I still didn't feel there was enough to warrant excitement. But four posts? Now that's something to speak up about, ain't it? Yup. That's what I thought, too.nice! I love seeing tutorials for D stuff, and GtkD is something I used to use for GUI applications a lot too. I only skimmed over it a bit, maybe you should also add a post about how to use GtkD with dub instead of manually invoking the compiler. I think dub is a lot more beginner friendly and easier to setup + users will probably want to add some dependencies in the future of their app. When I tried it with dub it was just adding the dependency and everything worked on Linux, but I couldn't make it run on windows with that. (though I only used the app on Linux so that was not a problem for me) Anyway, great seeing someone making GtkD tutorials, keep it up +1
Jan 25 2019
On Friday, 25 January 2019 at 22:17:06 UTC, WebFreak001 wrote: I think dub is a lot more beginner friendly andeasier to setup + users will probably want to add some dependencies in the future of their app.LOL! Not my experience with dub, but I take your point. I haven't actually gone back to try dub again. I have a mental block when it comes to json files. Don't know why, it's just there.
Jan 29 2019
Thanks for all the kind words, guys. Yeah, dub is a sticking point for me and I'm gonna have to get past it. I just have so much on my plate ATM that I don't wanna take the time to dig into it again for fear of falling behind on something else. But I will get to it at some point.
Jan 29 2019
On Tuesday, 29 January 2019 at 20:58:08 UTC, Ron Tarrant wrote:Thanks for all the kind words, guys. Yeah, dub is a sticking point for me and I'm gonna have to get past it. I just have so much on my plate ATM that I don't wanna take the time to dig into it again for fear of falling behind on something else. But I will get to it at some point.After many years of using CodeBlocks, late last year I forced myself to use a Visual Code / Dub workflow. It has it's pros and cons, but I do enjoy the extensions that are available Visual Code for the D language. Jordan
Jan 29 2019
On Tuesday, 29 January 2019 at 20:53:53 UTC, Ron Tarrant wrote:On Friday, 25 January 2019 at 22:17:06 UTC, WebFreak001 wrote: I think dub is a lot more beginner friendly andhey it's easy, you can also use SDL! :p dub.sdl: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" ... and that's it already actually. It will compile everything in the "source" folder and add the dependencies with it. And well you will have to add DLLs and stuff like you would need to with pure dmd, gtk-d doesn't ship any DLLs.easier to setup + users will probably want to add some dependencies in the future of their app.LOL! Not my experience with dub, but I take your point. I haven't actually gone back to try dub again. I have a mental block when it comes to json files. Don't know why, it's just there.
Jan 29 2019
On Tuesday, 29 January 2019 at 21:13:17 UTC, WebFreak001 wrote:hey it's easy, you can also use SDL! :p dub.sdl: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" ... and that's it already actually. It will compile everything in the "source" folder and add the dependencies with it. And well you will have to add DLLs and stuff like you would need to with pure dmd, gtk-d doesn't ship any DLLs.Okay, so I create a file, name it dub.sdl and put this in it: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" And this goes in the same folder as the code file. And then... what? I type: dub? Just for the record, this is completely different from what I was reading before about this dub stuff.
Jan 29 2019
On Tuesday, 29 January 2019 at 21:47:06 UTC, Ron Tarrant wrote:On Tuesday, 29 January 2019 at 21:13:17 UTC, WebFreak001 wrote:yeah just put it in your project folder, not the source folder, so it looks like this: source/ app.d some_other_file.d dub.sdl then you just run `dub` in the folder with dub.sdl A minor "limitation" can be that the files must follow their filenames as modulenames more strictly (otherwise weird errors could happen if you add `module bar;` in foo.d for example)hey it's easy, you can also use SDL! :p dub.sdl: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" ... and that's it already actually. It will compile everything in the "source" folder and add the dependencies with it. And well you will have to add DLLs and stuff like you would need to with pure dmd, gtk-d doesn't ship any DLLs.Okay, so I create a file, name it dub.sdl and put this in it: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" And this goes in the same folder as the code file. And then... what? I type: dub? Just for the record, this is completely different from what I was reading before about this dub stuff.
Jan 29 2019
Am 29.01.19 um 22:47 schrieb Ron Tarrant:And this goes in the same folder as the code file. And then... what? I type: dub?The code file should be in a subfolder called "source". This is customizable, but this is the default. So the folder structure should look something like this: ├── dub.sdl └── source └── app.d By default, if there is a source file called "app.d" or "main.d", dub will assume that your application is an exectuable and build it accordingly (if targetType is not explicitly set to something else in your dub.json or dub.sdl file). If you don't want to have a source file named like that, you will need to tell dub explicitly to build an executable (if that is what you want) by adding the line ``` targetType "executable" ``` to your dub.sdl. The easiest way to actually see how the basic folder structure should look like is to simply call `dub init` in an empty folder. This will interactively set up a basic project in that directory. During the interactive process, you can set some properties for your project, e.g. if you want to use a dub.sdl or dub.json file, add dependencies, choose the name of the project etc. It really works in a straightforward way. To actually build the project, simply run `dub build` from the project's root folder. this will create a binary in the projects root folder with the name specified in the dub.sdl file. You can also run the project directly after compiling by running `dub run` (or simply just `dub`, which does the same thing) from the projects root folder. All of this assumes that dub is actually installed and available on your PATH.
Jan 29 2019
On 29.01.19 22:47, Ron Tarrant wrote:On Tuesday, 29 January 2019 at 21:13:17 UTC, WebFreak001 wrote:Yes. Its as simple as: (dmd-2.084.0)~/tmp > mkdir gtkdtest (dmd-2.084.0)~/tmp > cd gtkdtest/ (dmd-2.084.0)~/t/gtkdtest > dub init Package recipe format (sdl/json) [json]: sdl Name [gtkdtest]: Description [A minimal D application.]: A minimal GTKD application. Author name [....]: License [proprietary]: Copyright string [....]: Add dependency (leave empty to skip) []: gtk-d Adding dependency gtk-d ~>3.8.5 Add dependency (leave empty to skip) []: Successfully created an empty project in '/...../tmp/gtkdtest'. Package successfully created in . (dmd-2.084.0)~/t/gtkdtest > pasteing a simple gtkd hello world into source/app.d and then run (dmd-2.084.0)~/t/gtkdtest > dub run I was surprised how simple it is nowadays even in osx. kind regards, christianhey it's easy, you can also use SDL! :p dub.sdl: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" ... and that's it already actually. It will compile everything in the "source" folder and add the dependencies with it. And well you will have to add DLLs and stuff like you would need to with pure dmd, gtk-d doesn't ship any DLLs.Okay, so I create a file, name it dub.sdl and put this in it: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5" And this goes in the same folder as the code file. And then... what? I type: dub? Just for the record, this is completely different from what I was reading before about this dub stuff.
Jan 29 2019
On Tuesday, 29 January 2019 at 23:09:57 UTC, Christian Köstlin wrote:I was surprised how simple it is nowadays even in osx.Okay, there's definitely something odd going on with my set up. I followed your directions to the letter and OPTLINK barfed. Here is the output from my first try to compile: d:\example\gtkdtest>dub run Fetching gtk-d 3.8.5 (getting selected version)... Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86. gtk-d:gtkd 3.8.5: building configuration "library"... gtk-d:gstreamer 3.8.5: building configuration "library"... gtk-d:peas 3.8.5: building configuration "library"... gtk-d:sv 3.8.5: building configuration "library"... gtk-d:vte 3.8.5: building configuration "library"... gtkdtest ~master: building configuration "application"... Linking... OPTLINK (R) for Win32 Release 8.00.17 Copyright (C) Digital Mars 1989-2013 All rights reserved. http://www.digitalmars.com/ctg/optlink.html C:\Users\ron\AppData\Local\dub\packages\gtk-d-3.8.5\gtk-d\.dub\build\library-debug-windows-x86-dmd_2082-CDBC653BD18B82F232E46588811160FC\gtkd-3.lib Warning 178: .LIB pagesize exceeds 512 Running .\gtkdtest.exe Edit source/app.d to start your project. And after double-checking, I did it again with this result: d:\gtkdtest>dub run --force Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86. gtk-d:gtkd 3.8.5: building configuration "library"... gtk-d:gstreamer 3.8.5: building configuration "library"... gtk-d:peas 3.8.5: building configuration "library"... gtk-d:sv 3.8.5: building configuration "library"... gtk-d:vte 3.8.5: building configuration "library"... gtkdtest ~master: building configuration "application"... Linking... OPTLINK (R) for Win32 Release 8.00.17 Copyright (C) Digital Mars 1989-2013 All rights reserved. http://www.digitalmars.com/ctg/optlink.html C:\Users\ron\AppData\Local\dub\packages\gtk-d-3.8.5\gtk-d\.dub\build\library-debug-windows-x86-dmd_2082-CDBC653BD18B82F232E46588811160FC\gtkd-3.lib Warning 178: .LIB pagesize exceeds 512 Error: linker exited with status 1 C:\D\dmd2\windows\bin\dmd.exe failed with exit code 1. Those were from the standard command shell. I tried it with Git Bash as well and got the same results. And that's why I haven't been using dub. I got things to work with dmd and like they say, if it ain't broke... :) You said you're on OSX, right? Is it possible that dub just isn't as cooperative on Windows 10? Of course, if you can see something in this output that hints at a fix, please let me know.
Jan 30 2019
On 2019-01-30 11:35, Ron Tarrant wrote:You said you're on OSX, right? Is it possible that dub just isn't as cooperative on Windows 10? Of course, if you can see something in this output that hints at a fix, please let me know.It's Optlink being stupid as always. If you want to figure out what's wrong you can invoke Dub with the "--verbose" flag to have it print the commands it's running, i.e. how it's invoking the compiler and the linker. You can do the same thing when invoking the compiler manually by adding "-v" to see how it links the application and compare that with Dub. Or, you can try compiling as COFF instead of OMF which will not use Optlink. Add the flag "--arch=x86mscoff" when invoking Dub. -- /Jacob Carlborg
Jan 30 2019
On 30-01-2019 21:07, Jacob Carlborg wrote:On 2019-01-30 11:35, Ron Tarrant wrote:This is whats going on: https://issues.dlang.org/show_bug.cgi?id=15418 To work around this you can either build things with "--arch=x86mscoff" or tell dub not to build the debug version with "--build=plain". -- Mike WeyYou said you're on OSX, right? Is it possible that dub just isn't as cooperative on Windows 10? Of course, if you can see something in this output that hints at a fix, please let me know.It's Optlink being stupid as always. If you want to figure out what's wrong you can invoke Dub with the "--verbose" flag to have it print the commands it's running, i.e. how it's invoking the compiler and the linker. You can do the same thing when invoking the compiler manually by adding "-v" to see how it links the application and compare that with Dub. Or, you can try compiling as COFF instead of OMF which will not use Optlink. Add the flag "--arch=x86mscoff" when invoking Dub.
Jan 30 2019
On Wednesday, 30 January 2019 at 21:21:24 UTC, Mike Wey wrote:This is whats going on: https://issues.dlang.org/show_bug.cgi?id=15418 To work around this you can either build things with "--arch=x86mscoff" or tell dub not to build the debug version with "--build=plain".Ah! Thanks, Mike. Does the lack of an answer to the last question there mean that this is an on-going issue?
Jan 31 2019
On 31-01-2019 21:33, Ron Tarrant wrote:On Wednesday, 30 January 2019 at 21:21:24 UTC, Mike Wey wrote:Yes, the issue is still open / on-going. -- Mike WeyThis is whats going on: https://issues.dlang.org/show_bug.cgi?id=15418 To work around this you can either build things with "--arch=x86mscoff" or tell dub not to build the debug version with "--build=plain".Ah! Thanks, Mike. Does the lack of an answer to the last question there mean that this is an on-going issue?
Jan 31 2019
On Thursday, 31 January 2019 at 20:33:43 UTC, Ron Tarrant wrote:On Wednesday, 30 January 2019 at 21:21:24 UTC, Mike Wey wrote:The issue is unrelated to dub. It only has to do with object format and linker that dmd uses on Windows by default. This issue is perhaps the reason why you had to use the -m64 dmd flag in your first post. If you don't specify the target arch on Windows - the -mXX flag for dmd, or the --arch=YYY flag for dub - the default is going to be -m32 and --arch=x86 respectively. So, assuming you have the MSVC C++ toolchain installed, just build with dub by specifying either the --arch=x86_mscoff or --arch=x86_64 flags. But no one should ever need to modify their dmd installation, in order to use gtkd.This is whats going on: https://issues.dlang.org/show_bug.cgi?id=15418 To work around this you can either build things with "--arch=x86mscoff" or tell dub not to build the debug version with "--build=plain".Ah! Thanks, Mike. Does the lack of an answer to the last question there mean that this is an on-going issue?
Jan 31 2019
On Friday, 1 February 2019 at 07:43:23 UTC, Petar Kirov [ZombineDev] wrote:So, assuming you have the MSVC C++ toolchain installed, just build with dub by specifying either the --arch=x86_mscoff or --arch=x86_64 flags. But no one should ever need to modify their dmd installation, in order to use gtkd.I don't think you still need ms toolchain installed: dmd comes with lld linker and mingw libs.
Jan 31 2019
On Friday, 1 February 2019 at 07:43:23 UTC, Petar Kirov [ZombineDev] wrote:But no one should ever need to modify their dmd installation, in order to use gtkd.Too true. It's one of the reasons I'm sticking with dmd for now. I followed a simple set of instructions to get an environment set up, the same instructions I posted on the blog. And I'm thinking the simplest way for a blog reader to get to a compiled product is the way I've outlined. Perhaps I'm wrong about that, but it's what I'm aiming for, the least fuss, the least work, the least complexity.
Feb 02 2019
On Saturday, 2 February 2019 at 17:01:28 UTC, Ron Tarrant wrote:It's one of the reasons I'm sticking with dmd for now.This morning, after creating the file: C:\ProgramData\dub\settings.json with contents: { "defaultArchitecture": "x86_64", "defaultCompiler": "ldc" } I ran some more tests with dub and successfully compiled/ran some of my GtkD example code. (Yay!) At some point, I guess I'd better write this up and post it.
Feb 06 2019
On Wednesday, 6 February 2019 at 16:53:49 UTC, Ron Tarrant wrote:On Saturday, 2 February 2019 at 17:01:28 UTC, Ron Tarrant wrote:I ran some more tests with dub and successfully compiled/ran some of my GtkD example code. (Yay!) At some point, I guess I'd better write this up and post it.Oddly, if I type: dub init in a git bash shell, it just wanders off like my grandmother when she's off her meds. But it works fine from the Windows 10 command prompt.
Feb 06 2019
On Wednesday, 30 January 2019 at 20:07:15 UTC, Jacob Carlborg wrote:It's Optlink being stupid as always. If you want to figure out what's wrong you can invoke Dub with the "--verbose" flag to have it print the commands it's running, i.e. how it's invoking the compiler and the linker. You can do the same thing when invoking the compiler manually by adding "-v" to see how it links the application and compare that with Dub. Or, you can try compiling as COFF instead of OMF which will not use Optlink. Add the flag "--arch=x86mscoff" when invoking Dub.I think I'll wait, but thanks for letting me know.
Jan 31 2019
On Tue, 29 Jan 2019 21:13:17 +0000, WebFreak001 wrote:dub.sdl: name "my-awesome-gtk-app" dependency "gtk-d" version="~>3.8.5"Might I recommend instead: dependency "gtk-d" version="3.8.5" This depends on gtk-d 3.8.5 and only that version. If there is a breaking change in 3.8.6 despite semantic versioning, your code keeps working. In libraries, I prefer using ~> to give more freedom to people depending on my code. But in applications, that isn't a concern. May as well only allow the code to be built with the versions of your dependencies that you've actually tested.
Jan 29 2019
On 2019-01-30 03:00, Neia Neutuladh wrote:Might I recommend instead: dependency "gtk-d" version="3.8.5" This depends on gtk-d 3.8.5 and only that version. If there is a breaking change in 3.8.6 despite semantic versioning, your code keeps working. In libraries, I prefer using ~> to give more freedom to people depending on my code. But in applications, that isn't a concern. May as well only allow the code to be built with the versions of your dependencies that you've actually tested.That's what the dub.selections.json file is for. It will lock down the version of all dependencies, direct and indirect dependencies. For applications the dub.selections.json should be under version control, while for libraries it should be ignored. -- /Jacob Carlborg
Jan 30 2019
On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:Hi y'all, As of January 11, 2019, http://gtkdcoding.com is up. It's a blog, it's a github page, it's simple examples of how to use GtkD for all that GUI stuff. My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time. This being Friday, the 4th post went up this morning. Please do let me know if you find it useful. And why did I wait until now to announce? Well, on day one, it seemed a bit silly to announce with only one post. After the second and third, well... I still didn't feel there was enough to warrant excitement. But four posts? Now that's something to speak up about, ain't it? Yup. That's what I thought, too.Great posts! Is there a reason you do not use dub? With dub it is even possible to set default architecture to x86_64 in the settings file. And the command line looks a bit less cryptic for new users. Defintely worths a post on r/programming! Kind regards Andre
Jan 26 2019
On Saturday, 26 January 2019 at 09:32:53 UTC, Andre Pany wrote:On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:There was even the idea to support custom skeletons for dub init: dub init sample1 -t gtdk This would create a dub skeleton folder with a sample gtkd source file. Martin Nowak had here a great idea how to achieve this https://github.com/dlang/dub/pull/600 This feature would become quite handy. Kind regards AndreHi y'all, As of January 11, 2019, http://gtkdcoding.com is up. It's a blog, it's a github page, it's simple examples of how to use GtkD for all that GUI stuff. My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time. This being Friday, the 4th post went up this morning. Please do let me know if you find it useful. And why did I wait until now to announce? Well, on day one, it seemed a bit silly to announce with only one post. After the second and third, well... I still didn't feel there was enough to warrant excitement. But four posts? Now that's something to speak up about, ain't it? Yup. That's what I thought, too.Great posts! Is there a reason you do not use dub? With dub it is even possible to set default architecture to x86_64 in the settings file. And the command line looks a bit less cryptic for new users. Defintely worths a post on r/programming! Kind regards Andre
Jan 26 2019
On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:Hi y'all, As of January 11, 2019, http://gtkdcoding.com is up. It's a blog, it's a github page, it's simple examples of how to use GtkD for all that GUI stuff. My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time. This being Friday, the 4th post went up this morning. Please do let me know if you find it useful. And why did I wait until now to announce? Well, on day one, it seemed a bit silly to announce with only one post. After the second and third, well... I still didn't feel there was enough to warrant excitement. But four posts? Now that's something to speak up about, ain't it? Yup. That's what I thought, too.Hi Ron, Glad to see this gtkd-programming blog up. When I started using Gtkd I gathered several tutorials[1][2] (they are old) and more recently found this project[3] from Carlos Soriano which covers meson + flatpak. Hope they are good for you. Antonio [1] https://sites.google.com/site/gtkdtutorial/ [2] http://britseyeview.com/software/articles/gsgtkd.html [3] https://gitlab.com/csoriano/GtkDApp
Jan 26 2019
On Saturday, 26 January 2019 at 16:53:18 UTC, Antonio Corbi wrote:On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote: When I started using Gtkd I gathered several tutorials[1][2] (they are old) and more recently found this project[3] from Carlos Soriano which covers meson + flatpak. Hope they are good for you. Antonio [1] https://sites.google.com/site/gtkdtutorial/ [2] http://britseyeview.com/software/articles/gsgtkd.html [3] https://gitlab.com/csoriano/GtkDAppThanks, Antonio. I'll take a look.
Jan 29 2019
On Saturday, 26 January 2019 at 16:53:18 UTC, Antonio Corbi wrote:[1] https://sites.google.com/site/gtkdtutorial/ [2] http://britseyeview.com/software/articles/gsgtkd.html [3] https://gitlab.com/csoriano/GtkDAppTook a look this morning. I'd come across the Brit's Eye View articles, but not the others. As I'm about to write something on menus, these will definitely come in handy. Thanks, Antonio.
Jan 30 2019
On Wednesday, 30 January 2019 at 09:48:14 UTC, Ron Tarrant wrote:On Saturday, 26 January 2019 at 16:53:18 UTC, Antonio Corbi wrote:You are welcome, :) Antonio[1] https://sites.google.com/site/gtkdtutorial/ [2] http://britseyeview.com/software/articles/gsgtkd.html [3] https://gitlab.com/csoriano/GtkDAppTook a look this morning. I'd come across the Brit's Eye View articles, but not the others. As I'm about to write something on menus, these will definitely come in handy. Thanks, Antonio.
Jan 30 2019
On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time.By OOP you mean user controls? Hmm... I'd say, user control is an advanced topic. In most cases each form is written in isolation with little code sharing, and classes provided by gtkd as is (that imperative way) should work fine. If you notice a recurring pattern and want to reuse it among different forms, a user control can be used to abstract it, but it also has a higher design quality requirement, because now it's going to be reused and thus needs to work in different mostly unforeseen contexts. Just writing a one-off user control is an overkill.
Jan 29 2019
On Friday, 25 January 2019 at 21:16:59 UTC, Ron Tarrant wrote:Hi y'all, As of January 11, 2019, http://gtkdcoding.com is up. It's a blog, it's a github page, it's simple examples of how to use GtkD for all that GUI stuff. My approach is to lay out a firm foundation for both imperative and object-oriented paradigms, then build from there, taking things one step at a time. This being Friday, the 4th post went up this morning. Please do let me know if you find it useful. And why did I wait until now to announce? Well, on day one, it seemed a bit silly to announce with only one post. After the second and third, well... I still didn't feel there was enough to warrant excitement. But four posts? Now that's something to speak up about, ain't it? Yup. That's what I thought, too.Some simple screenshots would be nice to see -- but good job on this. Nice to see examples/how-to's. Hope you keep going into complex topics.
Jan 30 2019
On Wednesday, 30 January 2019 at 21:53:27 UTC, sanjayss wrote:Some simple screenshots would be nice to seeI thought about it, but then realized that even though it would add visual appeal, readers might be more inclined to actually follow along at home if the only visual they get is the one they produce themselves. :)-- but good job on this. Nice to see examples/how-to's. Hope you keep going into complex topics.Thanks for the kind words, sanjayss. Yup, I'll be moving into complex subjects as things progress. I'm already working on a few behind the scenes, as it were. It seems I need lots of lead time to find a concept, outline it, write it, then rewrite it 1242 times so it's the best I can do. And like a good roast, it has to 'rest' for a while before I can see all the glaring faux pas and correct them... if you know what I mean. :) Thanks for reading.
Jan 31 2019