 Welcome to this episode of what's going on with KD, where I tell you the last things happening in the KD world and also how they're made, like actually looking at the code so you can hopefully understand it and start helping if you want as well. So let's actually start right away. We've got some of the changes and I've brought up all of the merge requests related to them. And the first one is improving the breeze plasma thing contrast for the scroll bar, slider, progress bar and so on. And this person that did the merge request, superskilled, put a lot of before, after, very nice pictures that clear what is actually changing. If you see this one, you've got the new style of the, well, this is the volume upload with the slider. And this part blue is a bit dark and on some wallpapers it might be hard to see, whereas the new one is brighter and easier to catch. And the change is really like nice, it's a bug that was fixed and how was that done? So it's a plasma thing change and so you should know that we're editing SVGs. In this case, the difference in SVGs is small enough for the actual changes to be shown, not all of them. When you're changing SVG, most likely you won't get a clean diff, but in this case we can easily see what's going on. So this opacity as an example was changed from 0.3 to like 24. This dot one was changed to 0.9 and we got added this opacity 0.525. Again, SVG very hard to see what is actually going on. We know that we're tweaking with opacities. In what files we've got? The bar, meter, horizontal, bar, meter, vertical, scroll bar, slider. So the idea is we get these files from the Plasma theme, which again see my Plasma theme videos if you want to look more into them. And they're in source Plasma framework, that is desktop theme breeze widgets or on your local system, slash ATC, slash share, slash Plasma, slash desktop theme, slash default, slash widgets, I think. And these four files, and we're tweaking the opacity of the elements so that they are actually more opaque compared to before. And as you can see, it's mostly the same change all over again for all of the elements that, you know, actually are actually interesting for this kind of thing. And that's about it. Like it was a rather simple change that actually improved Plasma right away. So of course the person actually doing this didn't open up like Kate and started changing all of these lines. It most likely did this using Inkscape. So if you want to help improve KDA Plasma with something that's wrong with the Plasma theme, that is like whatever you see in the panel or in kickoff, the style of it. Well, just open up Inkscape, see my Plasma theme videos, and hopefully you'll be able to help right away. Change number two is this is actually a commit, not a merge request. And the feature is add feature to annotate existing screenshots. So what's the idea? If you take a screenshot as an example of a part of the screen, for some reason it doesn't work right now on my computer, but it would show you a preview of the screenshot you just made. We had that before, but also now a button to annotate the screenshot that you have just made, since Spectacle does have that feature as well. Now, so this is a commit so we can see all the code changes. What's the idea? So let's jump into the important parts. So in this thing, if let's actually jump into the actually interesting stuff, which is, well, let's start, sorry, I'll get it, this one. Okay, so let's start with these lines. So what we are doing is I'll notify is our, sorry, I was saying, I'll notify is a key notification item, which is a new notification using the string literal that is like the title new screenshot saved. What are we doing in this line of code that interests us? We are adding, I lost the line again. We are setting the actions of the notification. So actually the list of buttons that is in the actual notification to be the string annotate. And we connect. What's the idea of connect? So basically we're taking connect takes an element. I think that happens another element and a function. And that is if this thing happens in this element, then call this function of this element. This is called a signal. And this is, I forgot what it's called. Sorry about that. Anyway, if the notification action activated is called, then on this element called a function, which is defined in this lambda. This is a lambda function. We create a new instance. We set the program of the new instance to spectacle. We set the arguments of this new instance of the program spectacle to be new instance and edit existing. And also they saved at local to local file. Yeah, save in a local file. And then we start this new instance. So basically we are creating a new application telling, okay, this new application is spectacle, the application to take screenshots. And we call this spectacle up with this edit existing flag, which opens up the editor for the screenshot that you have just made. And that's mostly like the important part is this one. We add a new action and we say when this action is activated, then open up spectacle and start editing right away the screenshot that you've just made. Now you might ask, are we sure that this edit existing property or like a flag for spectacle actually exist? And the answer is yes, because it's implemented here. So m edit existing parser is set edit existing. What's this? So we're taking the parser of the arguments and we check if is set the flag called edit existing, which is the one that we're calling spectacle with if the button is called. And we're setting if it exists true to edit existing. And if it's true, then we actually parse the value of this edit existing flag to fetch the file name. And if the file name is not empty and it's not null, then if it's a relative part, then you make it an absolute path. And then we set the file name to that file name. So set file name, I guess I'm not an expert of spectacle, but actually opens up the screenshot that particular screenshot and changes this m save to output equals true. Honestly, I'm not sure what's saved to output, but the important part is here. So again, we are calling spectacle with this edit with existing flag in this part of the code. Also, sorry about what I said before. This is that local file is actually the path to the screenshot that you're clicking. So we are calling it with the edit existing and then with the path to the file. And just above it, we have the code to actually read that edit existing flag and set the file name of the screenshot we're editing to what's after the flag that we received. What else? Last thing I'm going to show you of this merge request. So here we are in the function populate command line parser. And we're adding a string E, a string edit existing, a string open and edit existing screenshot file and a string existing family. What's this? Well, this is most likely going to end up in the help part of spectacle. If you go open up spectacle in the command line. Well, you can actually invoke it somewhere. I gotta have a terminal somewhere. You can actually invoke it through command line. And if you go with help, you can see all of its options. As an example, I can write spectacle minus F and it will take a screenshot of the full screen. So it's very nice. And this is what actually is telling a spectacle what to write in the standard output. Next one. Sorry, this is the spectacle. Add some keywords to help people find Kate and key right as an example. If we type notepad. If we can actually type notepad correctly notepad. Well, that tells me I don't have the patch installed, which is weird. I thought I had, but we can see in the screenshot that if you search for notepad key right actually pops up. I think it's also like develop. I can't type today develop and sorry. I really thought I had the patch. Okay, I don't know. It was working five minutes ago. I don't know. But anyway, if you're on latest and you search for notepad, key right will pop up. If you search for develop, Kate should pop up. So it's actually easier to find Kate and key right. If you're looking for this kind of words, searching for them in kickoff for, I guess, key runner as well. It's nice to have a small change. Let's actually see how it's done. And we can see that in Kate and key right data org, Katie, right desktop and or Katie, Kate desktop. There is this and this flags also this one. That actually affects this kind of things. The X Katie keywords are the key keywords that will make something pop up when you search for it. In this case, it's like text, text, editor, node, notepad. In the case of Kate is this plus programming developer. Okay, develop is not there. Maybe if search for programming, you see it's working. It was working. You can see that Kate is actually popping up. Sorry, it was not develop but developer Kate. And so if you search for those words, things will pop up. And categories now Kate is also in the development category, which makes sense. It is a literally, literally, sorry, three lines change. Just three lines that actually help something become better in terms of usability because you can actually find it easily. As an example, Linus complained about the fact that the spectacle does not pop up if you search for snipping. And in order to do that, you just have to go and find the org Katie spectacle desktop file. And add a section called X Katie keywords or if it's already there, you just add snipping to the list. And that's it. Now, I don't think anyone has done that yet. So it's easy merge request up for grabs. If you want to start contributing for Katie, that should be super easy. If you don't know how to make your first patch, I've done a video on that and you can actually do everything without even having to, you know, copy all of the Katie files, which is called clone. Sorry, get clone all the files. You don't even have to do that. You can do that just through the web browser. Next one, which I won't show you the code because it's even too complicated for me. It's a big merge request, but it's still nice to see what's going on in the Katie community. Use Milo for search results for the new effects overview. So as you know, maybe, maybe you don't, there is a new overview in progress for Katie plasma, which is like this one. I don't know if you know like Spectacle. It kind of reminds me of that. And the new thing is that you can now search for things using Milo, which is the same thing as far as I know that powers Krunner and kickoff. So now if in this new overview, you search for notepad, then K-Write will pop up in the overview, which is nice, like rather nice. There's a lot of discussion on some UI things, but it's merged. So it's nice to see that the new overview is getting worked on. And the last one is not a merge request. It's an issue, but I think it's interesting anyway to show, like, our discussions. And in this case, feel free to give me some opinions in the comments. There is this discussion regarding the fact that our default UX is too similar to Windows. Some, like, some people say that it's too similar. Some people say it's not similar enough. Why would it be a problem if it's too similar? Well, in terms of promotions, I'm also in the KDE promotion group, and it's quite a mess. If you try to promote a program, that's very similar. Even if it's not your fault, maybe you were there before. But if it's similar to another product that is more successful, people will see you as a rip-off. If, right now, I go install some random people, a random person that doesn't know about plasma, KDE plasma, they will think that this is a rip-off of Windows. It's like similar, but the logo is different, which is sad. So one thing that we could consider is try to have a user experience that's slightly different and makes you actually see that we do have a different idea and philosophy. We do have a different philosophy compared to Windows, but when you just open up KDE plasma, it's not so easy to see it at first glance. If you open up GNOME, you can see that right away. It's very different, and you maybe have to relearn it, but that's kind of the point of actually making you understand that there is things that are different compared to Windows. If you start with KDE plasma, some people say it's just a rip-off, and that's sad. Especially we like the other from these things. We both have a lighting by default, a bottom panel. Start menu as access by clicking on the bottom on the far, I guess, left edge of the panel. I guess this is left and right. Taskbar showing high-consoling representation of open apps. Actually, in Windows, sometimes it's like only icons only unless they're open, and if so, it's also with the name of the app. I don't know when that happens. System tree, desktop files, window title bars with an app icon to the left and minimize, maximize close buttons to the right. It might seem very stupid to you that we would overthink these kind of things, but when you actually try to make a desktop that's for everyone, we also need to consider these things from, especially, I think, my opinion, a promotion point of view, if you see other products that are successful like macOS. I think that macOS, in its origin, could have gone for a decoration that was the same one as Windows with annex to close an application instead of the green, yellow, and red dots, but it wasn't going to be an issue to have annex instead of a red dot to close an application. They probably went with that either to distinguish it from Microsoft or other competitors, and Windows probably did the same with their style as well, and that's really a point, and I think that macOS is a great example because this green, yellow, red thingy really stuck with us, and if you see those three dots, you just know it's macOS. And if you go see a KD Plasma that's customized to be macOS, you always see those three color dots so it becomes part of the brand. So what can we do? There are some solutions proposed. As an example, we could use Brisk Dark or Brisk Toilet by default or put a panel on the left screen edge and stuff like I won't show you the whole of it. There's lots of discussion. This is not to say, let me be very clear here, that this will happen. Absolutely not. It's just a way to discuss what we are doing with our user experience and if there should be anything that we should do differently. And that was about everything for this video. Again, if you have an opinion on this last matter, feel free to tell me. I can't assure you that your opinion will be regarded as the best ever and immediately implemented but I do read all of the comments. So, yep. Thanks to all the people that are sponsoring through donations these videos. It's super, like, makes me so happy. I receive comments with donations saying, I hope this is enough. It's really giving me the motivation to go forward with this and I hope you like this kind of videos as well. And see you tomorrow.