 Hello everyone and welcome to this episode of KDE news and before we start off with that let me send you an important message We need you we need your skills So as you know or might not know in about a month Plasma 5.14 will be released and we need some people helping out with preparing the release so this is a job for the promotion group which Is here the page to get involved if you have any skills I don't know writing announcements making videos Animations, especially blender animations would be awesome. Please Well message me personally first and also the promo group as a whole We are trying to recruit some people that could help us in the release So if you have any skills related to promotion that can be I don't know video made video making sorry anything like that Super useful. Please hit us up up until now. We've always done some cool stuff But very inconsistently as an example Two versions ago. We had Animations written in HTML and CSS done by me and then before that there was a very cool video Done in Blender and before that there was another video made with HTML and CSS plus video editing Editing later. So if you know how to do this kind of stuff when well, please help us If you are interested in joining KDE development, this is a great time. Then let's get into news So the first one which is super Exciting is that finally we do have root file operations in Dolphin and this was asked For a lot of time and now it's there. So you can do Operations that require root and you will be asked for your password So I'm not going to show you this because it's very simple But I just wanted to let you know that this is in let's get into another I'm not going to show you but it's interesting to know which is that this bag has been fixed and that is Add how to use instructions in Krunner plug-in descriptions. Now if you open up Krunner, there will be a Question mark inside of it and you if you press that you will be able to see the list of Runners and how to use them. So it's pretty useful and now for the less important news But the more interesting ones. I'm going to show you a couple of three Sorry for sorry even more merge requests or commits and tell you why they're there What do they do and how they're implemented so you can understand a bit more how Development works and how to contribute to KD. The first one is this which the system tree doesn't follow the panel opacity Okay, so if you have a panel with adaptive opacity It will be transparent when you have a window but opaque when that window is maximized So what's the issue if you maximized a window the panel is opaque kickoff is opaque system tree isn't why that does Why did that happen and that was honestly very weird for me to see this back because I implemented part of that feature a good part of that feature and I Remember testing this and it worked. So what went wrong? so let's see the actual fix which is this one and the merge request is Somewhere, but I don't see it. So this is the change. It's a one line change that fix it So from now on the system tree will follow the opacity of the panel, which is nice So this is the line. What does it say? Okay background hints plus my containment display hints and Plasma core types that stuff fully covered. Okay, and then there's a question mark Which is an inline if so we are checking this and what does checking this means? So basically we're taking the containment display hints, which is a variable which has How do I explain hints? So basically? Some This is not easy So I've got a number which is made up by bits and every single single bit as a meaning and As an example, there is a bit that says whether the desktop is fully covered or not This is bitwise logic. So display hints this number with a lot of hints on What's going on with the display one of which is whether the desktop is fully covered or not? Which is what is interesting for us. So we're saying if the desktop fully covered bit Which is saved in this variable is on in this variable and this is what the end operator does Very simply but put obviously then Plasma core dialogue solid background use a solid background Otherwise Plasma core dialogue standard background use a standard background Okay, so if the desktop is fully covered then the solid else standard. What is this needed and It's a bit weird. Okay. So what's the logic behind this? Okay, so fun fact while I was preparing to explain this line of code I was thinking about it and the more I think about this the more wrong it sounds and I think there has been some mistake here, but let me explain Nevertheless How this idea worked in general? So you have the desktop with the plasma panel the Uplets inside of the panel and then the system tree the system tree is very weird as an applet because it is an applet itself But inside of it there are more outlets which means that you have the containment with the panel and inside of the panel You have your outlets inside of the panel. You have the system tree inside of the system tree You have more outlets weird. Okay, so When the desktop is fully covered or you get this containment display hints Set to the display the desktop. Sorry is indeed fully covered and that's set some more in the panel Let's not get into details because honestly, I don't even remember them right now I should look more into it, but this variable of course It's set such such that the desktop is indeed fully covered and this holds true for The panel the widgets that are inside of the panel But not this instant tree because technically it's a containment container. Sorry in itself So what needs to be done is this variable? To be transferred from the panel to the system tree and then in the system tree Read again and set again. Now. This is completely automatic for all outlets because they're inside of the panel Except the system tree, which is not a standard applet, but a containment in itself So that's the idea behind this. So this line of code in theory should be in the panel regarding all outlets, so there is a QML file QML is the programming language these things are written in there is a QML file Regarding the default applet like the default applet behavior that all outlets have that says, okay If you're inside on off a panel and the desktop is fully covered then use the solid background if Adaptive is of course turned on but you know stuff inside of the system tree Doesn't get this so this variable has to be passed through and it has to be set again in the system tree Not in all outlets, but in the system tree So this didn't look like this isn't obvious like in theory You shouldn't need this line because it feels like okay system tree is part of the panel So it just works. It doesn't we need this line next one change open new instance to open new window Well, this is just a string change to make things a bit more obvious So if you have a list of applications and you right-click one now open you instance instance is open new window And this is just a way to Make the interface less jargon ish in its words because instance is a bit harder for the very new users Compared to window. How was this done? Okay, so it's the patches here. This is the whole patch It's super easy. So what you do is that you go into the task manager Which is what you're changing and then you open up k find if you want to do something like this you Put k find to tell it and tell it sorry to find the string of text that you're trying to change Which is opens a new instance instance and then you search and k fine Automatically finds what far you file you're looking for by magic you open that file and change opens a new instance to open a new window Same year start a new instance open a new window The icon is also changed list at symbolic is Changed with window new if you need a list of icons in kedi plasma Install Qtfish Qtfish as all of the icons and it also it also tells you the name names of them So you know what this is and you know what this is and it's pretty easy to find one You just go into Qtfish am I covering again the part? No I think you're seeing this. I'm not covering it with my face. You're seeing this So as I was saying you're going to quit key Qtfish and search for Window new and you discover that there is indeed an icon which is called window new So this was super easy and you've ever if you ever need to change well a string of text then That's how you do it next one out or a start after installing updates So this was a bug and it was implemented in this commit, which is this one. How was it implemented? The patch is here. So first of all reboot now now this cover, which is you know the application that manages software for Ked plasma kitty, let's say Or I mean the distributions that use it just to be more precise Okay, so now the object I don't know what discover object is, but it's something related to discover clearly has a new function Which is called the reboot now and what does it do? Well, it creates a method call through Qt boost which is org free desktop login one in org free desktop login one org free desktop Laguna manager remote. What's this? Okay, so this is Qt boost and it's a bit of magic. I still Regard Qt boost to be magic debuts in general, but the idea of this is that these initiatives Reboot and you set the arguments to be true so that it's interactive So reboot also has an argument and then you ask the connection with debuts to call that method Async so it doesn't actually stop here for this function and returns back This function simply a reboots the computer. That's easy. You also define that this new function exists Interest interestingly enough. There is already a reboot function, which is Similar, but let me see if I managed to actually show it to you. Can I hello? Can I am here? It's very similar. It's prompt reboot instead of reboot and Prompt a prompt reboot. I think that asks you if you want to reboot So reboot now just please reboot now regardless of the user. I guess and then we get back to a QML file, which is the more UI type of thing is and we get this tool button, which is a select all and Well, this button was here already is the select all buttons for updates But now it's only visible if you don't need to reboot if you need to reboot you can select all So basically this button as well, which is selected on this button is just Invisible in case you need to reboot and now there is a checkbox a new checkbox That is only visible if you need to reboot saying restart automatically after update has been completed So the idea here is if you need a reboot then show attack checkbox saying Do you want to boot? Sorry after the update has been completed and then state change script Script if reboot at and checked if you check reboot at and then reboot now I guess this actually yes this This actually gets only called when The update is finished. I'm pretty sure not sure why looking at the code But I don't know every part of code of every part of caddy. So this is the idea though Last one add ability to open with the current working directory This is for console and now you can just right-click console open with dolphin like and you can Open the directory you're in and it's a rather simple Merge request the general idea you get this current URL you check if it's a local file And so you get that otherwise from local file home path you get the Local file URL and you open it with K file item. I mean that's Easy stuff to get the current URL you're inside of In console and then this property is of that item Q scope what's this? Yes, sorry, you're creating a new let me zoom in a bit more you are creating a new Reset you're creating a new key file item actions For the pop-up which is above a new action for the context menu the idea it is set it in list properties Insert open with actions to we're actually adding the open with action here We are adding it to pop-up actions So the actions of the pop-up that we have the context menu value for no pointer I'm not sure what the value for no pointer is honestly. Maybe the position of the New element inside of the pop-up maybe inside of the pop-up Q string list Q app desktop file name No idea what this is honestly and then simply put Never mind. There's no simply put here. It's complex stuff. Let's switch to the last one I wanted to showcase a bit this blog post by Karshwan, which I surely pronounced incorrectly and The idea here is more caddy apps, which is cool so he is working on some new pretty cool caddy applications and It talks about them here very shortly I suggest you to actually read this because it's very interesting There is token which is a client for what's the name again? I forgot again Token on the mastodon mastodon It's a mastodon client if you use mastodon is the alternative to Twitter sort of then there is ash Matik the name of which I absolutely love with which check is Checksums of files. You can also compare them verify ash and generate them based on the file There is whale which is a very simple for explorer So, you know dolphin dolphin is awesome But there is some interesting interest in seeing if a file explorer could be made in kuri gami Right now is nothing like that will be shipped to you tomorrow But it's something that's being in development There is calendar, which I talked about so many times. So next one Pelican, which is a very Again, simple similarly to whale application to check emails So similar to kmail, but Incomal again trying to rewrite something that exists inside of kuri gami And finally next cloud talk, which is a client for next cloud talk So if you use that then there is client which is being developed all cool apps And it's awesome that kuri gami makes it easy enough to create application that we see so many of them Coming up being created. So to work up cool stuff I showcased some of it look at the code in theory now I should have all the cool animations with the Patreons and stuff. I don't have them right now. Sorry about that. I just Received a new computer and still setting everything up. So in theory, you should be receiving this video as full HD and 30 30 FPS, but maybe I could do even 16 in the future And if you're using this if you're watching this, sorry in peer tube Then it it's probably still 720p and I'll try to fix that but overall new Recording setup new stuff new code new apps cool. Please help the promotion. Thank you