www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Surprise - New Post on the GtkD Coding Blog

reply Ron Tarrant <rontarrant gmail.com> writes:
Has it really been 15 months since I last posted an article? Um, 
yes. Yes, it has.

I hope I haven't completely lost my good will here in the D-lang 
community. I'm feeling better now, the medication seems to be 
working, and I've got a new article... well, it was already in 
the works last year when I stopped posting, but I've edited the 
heck out of it and hopefully it's up to my usual standards.

At the top of the article, I ask whether or not anyone is still 
interested in reading articles about GtkD 3.9 (Mike Wey released 
GtkD 4 a couple of weeks ago) and I explain why I'm not all that 
keen on making the transition. Please let me know in comments 
(Yes, GtkD Coding now has comments) if you think it's still worth 
writing articles centred around 3.9.

Thanks.

Here's the link: 
https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html
Sep 03
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.
Good to see you back, Ron.
Sep 03
parent Ron Tarrant <rontarrant gmail.com> writes:
On Friday, 3 September 2021 at 16:10:39 UTC, Mike Parker wrote:
 On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.
Good to see you back, Ron.
Thanks, Mike.
Sep 03
prev sibling next sibling parent reply Ron Tarrant <rontarrant gmail.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 (Yes, GtkD Coding now has comments)
It did last time I looked, but somehow they've disappeared. I'm too tired to sort it out today, but I'll do my best to get this sorted out in the morning. Thanks for your patience.
Sep 03
parent Ron Tarrant <rontarrant gmail.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 (Yes, GtkD Coding now has comments)
And now it does again. Thanks for all the good wishes, guys. It's good to be back. On Friday, 3 September 2021 at 18:42:25 UTC, M.M. wrote:
 Happy to see you are back and well. I wonder where did you 
 learn about a new gtkD release?
I found something about it yesterday, but can't find it now. Very odd. If/when I do come across it again, I'll reply to this thread again. On Friday, 3 September 2021 at 18:42:25 UTC, M.M. wrote:
 Anyway, on the long run, I guess covering GTK 4 will be very 
 welcome.
Just to be clear, I was planning to just continue with coverage of GtkD 3. Please let me know if you're for that. On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote:
 so if it isn't gtk's own ideology, it is now the lowest common 
 denominator on linux.

 (i loathe and despise wayland but ill try not to rant)
It's good to know I'm not the only one! :) On Friday, 3 September 2021 at 20:31:04 UTC, Ferhat Kurtulmuş wrote:
 Nice to know you are fine and active. Î was about to ask forum 
 that what happened to Ron. Best wishes.
Thanks, Ferhat.
Sep 04
prev sibling next sibling parent reply M.M. <matus email.cz> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.

 I hope I haven't completely lost my good will here in the 
 D-lang community. I'm feeling better now, the medication seems 
 to be working, and I've got a new article... well, it was 
 already in the works last year when I stopped posting, but I've 
 edited the heck out of it and hopefully it's up to my usual 
 standards.

 At the top of the article, I ask whether or not anyone is still 
 interested in reading articles about GtkD 3.9 (Mike Wey 
 released GtkD 4 a couple of weeks ago) and I explain why I'm 
 not all that keen on making the transition. Please let me know 
 in comments (Yes, GtkD Coding now has comments) if you think 
 it's still worth writing articles centred around 3.9.

 Thanks.

 Here's the link: 
 https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html
I just recently visited your blog, and was wandering whether it's over now... I also visited gtkd website, and was wandering whether it's over now (the website still shows a wrapper for GTK 3.24). Happy to see you are back and well. I wonder where did you learn about a new gtkD release? Anyway, on the long run, I guess covering GTK 4 will be very welcome.
Sep 03
parent reply Mike Wey <mike-wey example.com> writes:
On 03-09-2021 20:42, M.M. wrote:
 I just recently visited your blog, and was wandering whether it's over 
 now... I also visited gtkd website, and was wandering whether it's over 
 now (the website still shows a wrapper for GTK 3.24).
 
 Happy to see you are back and well. I wonder where did you learn about a 
 new gtkD release? Anyway, on the long run, I guess covering GTK 4 will 
 be very welcome.
The GTK 4 version still needs work and isn't released yet. I currently don't have the time to work on it, but i hope i am able to resume working on it later this year. -- Mike Wey
Sep 04
next sibling parent Ron Tarrant <rontarrant gmail.com> writes:
On Saturday, 4 September 2021 at 11:50:44 UTC, Mike Wey wrote:

 The GTK 4 version still needs work and isn't released yet.
 I currently don't have the time to work on it, but i hope i am 
 able to resume working on it later this year.
Thanks for the update, Mike. I still haven't found the link that led me to believe it was already out. Sorry, all, to be misleading.
Sep 05
prev sibling next sibling parent Ron Tarrant <rontarrant gmail.com> writes:
On Saturday, 4 September 2021 at 11:50:44 UTC, Mike Wey wrote:
 The GTK 4 version still needs work and isn't released yet.
 I currently don't have the time to work on it, but i hope i am 
 able to resume working on it later this year.
Just FYI, don't hurry back to it on my account. :) The only explanation I can find for thinking it was out is that I must have seen (must have saw?) a gtk4 download link and misread it.
Sep 05
prev sibling parent M.M. <matus email.cz> writes:
On Saturday, 4 September 2021 at 11:50:44 UTC, Mike Wey wrote:
 On 03-09-2021 20:42, M.M. wrote:
 I just recently visited your blog, and was wandering whether 
 it's over now... I also visited gtkd website, and was 
 wandering whether it's over now (the website still shows a 
 wrapper for GTK 3.24).
 
 Happy to see you are back and well. I wonder where did you 
 learn about a new gtkD release? Anyway, on the long run, I 
 guess covering GTK 4 will be very welcome.
The GTK 4 version still needs work and isn't released yet. I currently don't have the time to work on it, but i hope i am able to resume working on it later this year.
Glad to hear you still have some work for gtkd on mind. (I recall your announcement along the lines of seeking someone to step-in for the help with gtkd.) Given the success of gtkd, it would be a pity if gtk4 did not get into it. Good luck finding time (and joy) to work on it. I appreciate the work.
Sep 06
prev sibling next sibling parent reply Adam D Ruppe <destructionator gmail.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html
"GTK team dropped window position handling" im p sure the wayland system either doesn't support it or STRONGLY discourages it if it was added in an extension. so if it isn't gtk's own ideology, it is now the lowest common denominator on linux. (i loathe and despise wayland but ill try not to rant)
Sep 03
parent reply Dukc <ajieskola gmail.com> writes:
On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote:
 (i loathe and despise wayland but ill try not to rant)
Have you written more about this on your blog? I have read more than one piece that wishes good riddance of X in favour of Wayland, I'd like to read something about the "but" side.
Sep 07
next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Tue, Sep 07, 2021 at 12:29:14PM +0000, Dukc via Digitalmars-d-announce wrote:
 On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote:
 (i loathe and despise wayland but ill try not to rant)
Have you written more about this on your blog? I have read more than one piece that wishes good riddance of X in favour of Wayland, I'd like to read something about the "but" side.
I for one will *not* be happy about X being dropped in favor of Wayland, esp. since the latter is not (yet?) at feature parity (or better) with X. T -- Right now I'm having amnesia and deja vu at the same time. I think I've forgotten this before.
Sep 07
prev sibling parent reply Adam D Ruppe <destructionator gmail.com> writes:
On Tuesday, 7 September 2021 at 12:29:14 UTC, Dukc wrote:
 On Friday, 3 September 2021 at 18:52:13 UTC, Adam D Ruppe wrote:
 (i loathe and despise wayland but ill try not to rant)
Have you written more about this on your blog?
I have not (well.... not directly anyway, wayland flamewars is one of the things that directly inspired this post: http://dpldocs.info/this-week-in-d/Blog.Posted_2021_03_08.html#adam's-rant ). The short version is the wayland devs were hyperfocused on one use case and missed the big picture. This led them to wrongly believe that the majority of X is completely useless legacy bloat, so instead of patching up the one use case, they threw it all out. ...then they have spent 13 years slowly reinventing it doing extension after extension and revision after revision after revision, and still haven't actually even reliably fixed the one issue they complained about... while X actually did patch it up if you opt into it (via the dri2 and sync extensions) and it does a pretty good job. They also bring up spurious security complaints - which have been around since the 90's btw but never materialized into a real problem - which are also patched via X extensions or nested servers. It could certainly be better but a version 1.1 or 2.0 of the security extension could realistically fix that up, no need to throw everything out. (Notice how Microsoft made similar changes in Windows without a significant breakage of backward and interoperation compatibility.) So they broke everything for no benefit. Again. It is just like the broken audio stuff. And then it really annoys me that the wayland proponents are rarely well educated on X, saying things that are just untrue. So that ups the flamewars to 11.
Sep 08
parent reply Dukc <ajieskola gmail.com> writes:
On Wednesday, 8 September 2021 at 19:35:21 UTC, Adam D Ruppe 
wrote:
 The short version is the wayland devs were hyperfocused on one 
 use case and missed the big picture. This led them to wrongly 
 believe that the majority of X is completely useless legacy 
 bloat, so instead of patching up the one use case, they threw 
 it all out.

 [snip the bit longer version]
I thought that the Wayland architecture is in some way fundamentally better than X architecture, the same way D templates are fundamentally better than imitating them with a macro preprocessor, C or otherwise. But I think you said that it was not about anything that required a redesign from ground up. Like, redesigning the whole Phobos because `Algebraic` sucks instead of adding `SumType` would be our analogy of what Wayland devs did. I have to study differences in their approach more before I decide which I personally prefer.
Sep 09
parent reply Adam D Ruppe <destructionator gmail.com> writes:
On Thursday, 9 September 2021 at 08:52:34 UTC, Dukc wrote:
 I thought that the Wayland architecture is in some way 
 fundamentally better than X architecture
That's what the wayland propagandists like to say (now... earlier they'd play up the similarities to make the "rewrite it" pill easier to swallow), but it isn't really true. Wayland's graphics system is a subset of X's - it takes the direct rendering component and leaves the others out - then combines the X compositor, X window manager, and X server into one component, when they then call the wayland compositor. But it is important to realize that direct rendering clients on X - which has been around since before Wayland was born - already work essentially the same way. The client gets a gpu buffer and does opengl rendering to it. Then they signal the display manager - whether X server or Wayland compositor - to show the buffer on screen and they do it when the time is right (e.g. vblank syncing). X does support other models too, but this is a good thing because it allows backward compatibility, better network efficiency, and simpler applications to just do simpler things too. Removing features people actually use in the real world is rarely that beneficial. So what is the major difference for graphics architecture? In X, the compositor is an entirely optional component. In Wayland, it is integrated into the display manager. That's the only real difference. What is a compositor? It is responsible for taking the images from each individual application and layering them on top of each other if you want additional scaling, transformation (like rotation), or transparency in between windows. Inside an individual window, you have all those things regardless of compositor. Traditional X servers can layer images without transparency or external scaling without any trouble at all. It only comes in when you want those fancier graphics things to happen without cooperation between windows. If you're thinking "that's not actually all that useful anyway", yeah me too. I've never used a compositor on my own system at all. Wayland claims that integrating this optional component provides a performance benefit by avoiding the cost of the additional context switch and synchronization. There's one place where that's legitimately true: exposing a window on a remote network connection. With core X, the server sends an expose event, then the client sends back a blit command from its buffer, or the drawing commands if it doesn't have one. Due to network latency, this can results in some visual lag and some flash as the server paints over a simple background color, then the client paints over it again. Wayland, of course, sees zero change here because it has zero support for this operation. Its network support - to the extent that there is any at all - is more like VNC screen share than X's remote commands. Anyway, even locally, that context switch thing is technically true but also almost certainly irrelevant since that cost is insignificant next to the time spent waiting for the vsync anyway if you use the direct rendering facility. It has a little more truth when comparing non-direct-rendering clients, but again Wayland sees zero benefit here because it simply has zero support for these use cases at all. Those programs just plain don't work. They must be rewritten to target Wayland which means they'd be forced to switch to a direct render system. But if you're rewriting the application anyway, you could just port the X application to the direct render infrastructure too. Anyway, just for background, since a compositor works with these older style applications a bit differently - those clients are not written with the extension apis in mind and assume they are going directly to the screen (well actually there's non-DRI clients that sync to double buffers too, you can render to pixmaps in the traditional api and blit it over (all core X functionality there) with a sync trigger which was provided as an extension in 1991, or you can use the XRender extension which provides an explicit double buffer function, which was provided as an extension in 2000) - the compositor intercepts the final draw to screen and redirects it to another buffer, then does the alpha blend etc on that before getting to the actual screen. It may need to guess which draws to screen are supposed to be immediate and which are already buffered and synced by the application which can introduce a bit of additional lag; it might vsync twice, for example. This is rare in practice, but when the implementation gets it wrong, you do get either a missed frame or mid-frame screen tear. But like that's an older API being used on a buggy implementation. Again, if your fix is to rewrite the application anyway, you can just use the different api and/or fix the bug in your existing implementation. There's no real world benefit. And once again Wayland just discards the compatibility and network features of X and the process. Speaking of the Wayland combining features btw, the wayland compositor also integrates the X window manager. They do this in the name of simplifying the architecture diagram, and again it does a little bit of context switching and syncing simplification (which probably doesn't matter anyway). But one of the things people very commonly do on X is to swap out window managers; it is one of the most common user preferences on a linux desktop (and this full customization one of the only reasons why I actually use linux). Fun fact: you can even do it on the fly without restarting any applications if you just want to try one out. This is *because* it is a separate component. When it is integrated on Wayland, it makes this much harder. There are some variety of wayland compositors - using library code can help make it feel plug and play to developers - but this remains a strength of X in practice.
Sep 09
parent Guillaume Piolat <first.last gmail.com> writes:
On Thursday, 9 September 2021 at 15:22:39 UTC, Adam D Ruppe wrote:
 On Thursday, 9 September 2021 at 08:52:34 UTC, Dukc wrote:
 I thought that the Wayland architecture is in some way 
 fundamentally better than X architecture
That's what the wayland propagandists like to say...
Interesting details, thanks.
Sep 09
prev sibling next sibling parent Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= <aferust gmail.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.

 [...]
Nice to know you are fine and active. Î was about to ask forum that what happened to Ron. Best wishes.
Sep 03
prev sibling next sibling parent reply Joel <joelcnz me.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.

 I hope I haven't completely lost my good will here in the 
 D-lang community. I'm feeling better now, the medication seems 
 to be working, and I've got a new article... well, it was 
 already in the works last year when I stopped posting, but I've 
 edited the heck out of it and hopefully it's up to my usual 
 standards.

 At the top of the article, I ask whether or not anyone is still 
 interested in reading articles about GtkD 3.9 (Mike Wey 
 released GtkD 4 a couple of weeks ago) and I explain why I'm 
 not all that keen on making the transition. Please let me know 
 in comments (Yes, GtkD Coding now has comments) if you think 
 it's still worth writing articles centred around 3.9.

 Thanks.

 Here's the link: 
 https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html
Great to hear from you again. I've GUI programs that I use every day (a diary program, and a Bible program). Also sometimes use a GUI Money program. I really appreciated your help.
Sep 05
parent Ron Tarrant <rontarrant gmail.com> writes:
On Monday, 6 September 2021 at 01:59:10 UTC, Joel wrote:
 Great to hear from you again. I've GUI programs that I use 
 every day (a diary program, and a Bible program). Also 
 sometimes use a GUI Money program. I really appreciated your 
 help.
Glad to be of help, Joel.
Sep 06
prev sibling next sibling parent bauss <jj_1337 live.dk> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.

 I hope I haven't completely lost my good will here in the 
 D-lang community. I'm feeling better now, the medication seems 
 to be working, and I've got a new article... well, it was 
 already in the works last year when I stopped posting, but I've 
 edited the heck out of it and hopefully it's up to my usual 
 standards.

 At the top of the article, I ask whether or not anyone is still 
 interested in reading articles about GtkD 3.9 (Mike Wey 
 released GtkD 4 a couple of weeks ago) and I explain why I'm 
 not all that keen on making the transition. Please let me know 
 in comments (Yes, GtkD Coding now has comments) if you think 
 it's still worth writing articles centred around 3.9.

 Thanks.

 Here's the link: 
 https://gtkdcoding.com/2021/09/03/0112-gtk-gio-application-barebones.html
Good to see another post :) Even tho I've still not used GtkD yet, I've still learned a few things from your blog posts over the years and it'll definitely be a help when/if I ever decide to use it.
Sep 06
prev sibling next sibling parent reply Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Friday, 3 September 2021 at 15:47:41 UTC, Ron Tarrant wrote:
 Has it really been 15 months since I last posted an article? 
 Um, yes. Yes, it has.

 [...]
Welcome back! 🍀
Sep 07
parent Ron Tarrant <rontarrant gmail.com> writes:
On Tuesday, 7 September 2021 at 23:28:00 UTC, Imperatorn wrote:

 Welcome back! 🍀
Thanks, Imperatorn. BTW, if anyone has questions about any of the articles, GtkD Coding has a brand-spanking new commenting feature.
Sep 08
prev sibling parent Ron Tarrant <rontarrant gmail.com> writes:
Another new post, a continuation of the GTK/GIO Application 
discussion, can be found here: 
https://gtkdcoding.com/2021/09/10/0113-gtk-gio-application-ids-signals.html
Sep 10