 Hello and welcome to yet another episode of things that could have been and would have been very cool to have probably but uh want to be very much likely so today we're going to do talk we're going to talk about decorations and you know I gotta do a very quick introduction of what CST against SSDs are so if you know that already you can skip the next couple of minutes otherwise very quick introduction this is dolphin you probably know about dolphin and what you can see here on the top is called SSD so you can see that this this here is the toolbar you've got like the actual things that the have um you know things that interact with application and this part is drawn by the actual application however here on top you have what's called the decoration which is not drawn by the application it's actually drawn by the window manager so this is drawn by the application this is drawn by the window manager this has some benefits as an example if the application crashes so stop responding you can still draw the decoration and the decoration will still work so as an example if you want to close it you can just press the x button the x button won't ever stop working even if the application does which is a nice step at the same time however some other applications like GTK does that prefer to use client side decoration this was an example of SSD so server side decoration GTK does a CSD which is client side decoration so what's that everything including the shadows and the decoration actually the shadow is part of the decoration is drawn by the application so the whole thing which does mean that if anything stops working you know the whole thing stops working even the shadows but as a benefit you get that you're able to actually add buttons in the title bar because it's actually drawn by the application itself those are two very different approaches and there you know criticism of one criticism of the other it really depends on what you're trying to do KD is very much a fan of SSDs in general and GNOME is very much a fan of CSDs in general so funny enough i saw this reddit post which says a solution to the cst controversy now it is true that csts are a bit of a controversy which one is better which one should we use so what i wouldn't expect is the solution first of all there's no solution there's like different ideas and opinions but even if there's some magic solution then it's probably not going to be on reddit like that's probably not the place to discuss this kind of things the magic solution and to be fair this this person that says that he did propose this to the xdg mailing list and i checked the merger quest that he had done not a merger quest the ticket he had opened and i think it shows that this is a random person that decides he knows the solution and has not particularly big technical knowledge about all this stuff so he was shoot down very quickly and he got annoyed by the fact that he got shut down so quickly and he went to rant about that on reddit which is not nice so very quickly what is the solution because maybe it's indeed the solution and it's not actually something that we hadn't seen before at all the whole thing which is actually very detailed for what i would expect out of a reddit post is mostly talking about the dynamic decorations what are the dynamic decorations so the idea is instead of having this alternative between having all the decorations drawn the application so that they can draw draw buttons on them or having everything all the decoration drawn by the window manager so that you know everything continues to work and the application is only the content of the application what happens is that the application kindly asks the that in the window manager to please add some certain buttons in the title bar which could then be customized by the users as well that really depends on how you want him to implement that so as an example an application could go ahead and say hey in my title bar i do want to have a menu button with these options inside of it and then whoever draws actually the decoration will apply that and here we've got a list of components that this person uh proposes to actually have and that the application could be could ask for like a spacer a separator a label an icon a button all of these things that kind of makes sense so this idea doesn't start here in fact there's this very interesting blog post by Ken Vermette who is a designer at KDE currently not active but has been uh in in the past and recently and some years ago quite some years ago at this point actually he had done multiple mockups and tried to push for the implementation of this kind of things so this is the mockups that he has done for KDE so you can see that we have the application icon and that is fine then we have buttons and then we have widgets and then we have the title bar this is the design concept that was pushed forward and interesting interest interestingly today i can speak enough there's actually a lot of discussion on how to do this even from a technical side of things downsides like customization all this stuff in fact there was even during the plasma sprint of uh 2015 so seven years ago during the sprint where is it here so we actually had some talks about how to implement that these dynamic decorations and there was discussion on like what could be the issues with it the benefits with it and there was even a proof of idea where the application managed to ask for a slider to have in the title bar which is pretty cool here we can see a couple of other ideas and very important here keep in mind that in KDE the decorations are themeable which means that you can install third parties that draw the decorations instead of the default one which is breeze which means that different decoration should also implement all this stuff and in theory this would allow to actually use different styles and themes for even when you ask for the same thing just a slider as an example so that would have been cool as well and this is probably the best example and that is a dynamic decoration in the style of windows xp so wow so where did this go and sadly pretty much nowhere so I can't speak exactly of what happened with this in particular because for obvious reasons I mean I wasn't there so I can't know whether I think it was roughly at this time that back in KDE we had some like stuff going on in trying to decide what KDE had to be a lot of things changed back then and a lot of people actually working on this this stuff changed especially as far as the UI design go went in fact I think for a certain period even cambernet went unresponsive like no longer active on the vdg for a while so in that period of like trying to build up actually after that there has been like this clear idea that has been pushed for by many developers that csts and in general trying to draw things on the title bar which is supposed to be accessible and easy to drag and drop like take this title bar as an example if you try to drag and drop a user that comes from another platform could go into anxiety because if you try to drag and drop here you you're clicking a button if you try to drag and drop from here then you know you're dragging a slide bar so it is a bit it goes against the principles of accessibility so nowadays in KDE the idea is to use server side decoration always and never really put widgets into the title bar because that would be a bad idea for various reasons I provided one as an example if you're interested you can go check out a two blog post about this by nittgerhem on this blog point test stick and this is KDE another thing is GNOME like that's the other main desktop environment like the biggest one so would GNOME do something like that? Answers obviously no because they have csts and why would they have why would they go for a api that would be much more complex to implement and maintain to have something that they quite have already with csts yes sure there are some downsides with that like if the application stops responding then even the title bar does and you can't guarantee that the application actually draws the title bar correctly like maybe they do some weird stuff there is downsides but it's not the kind of downsides that would make sense to have like a complete rewrite of how everything works regarding title bars to completely change everything so they wouldn't do that obviously so we have currently KDE that is on SSDs and doesn't plan at all to change that and GNOME which is using csts and doesn't plan at all to change that either so this is not happening simply I don't think this will ever happen because if the two biggest desktop environments don't want to do this I doubt that there would be enough support for a significant api because you do need a short standard otherwise this application will only work with one window manager because you have to ask the window manager for the buttons in the title bar so this is simply not happening but it's a cool idea nonetheless isn't it in the end of this video I want to say that I actually completely changed my setup and it's still in work so if you see physically I hope this video went all right but I'm still trying to change stuff so if anything goes wrong sorry also a very quick talk about donations actually last month at the end I was getting closer to my goal and then I received a super big donation that pushed me way beyond it so all of that surplus went into this month and counting the monthly donations from the various platforms I'm already at my goal of December as well but if you do want to support my work for the channel and also on my kitty development I'm trying to fix back so I'm also trying to develop a new applications all of that stuff you can support if you want to do a donation and again all the surplus will go into January anyway so it's not like you're wasting any money I've reached my goal for last month and for this month as well that is amazing actually and I would really like to go on with this trick so if you have any if you want to donate early at bf that's it thanks everybody for following and see you tomorrow with yet another video