 Hi everyone, so today we'll finish off the patches that we've done last week actually the week before that and I've got Firefox here with the new design Firefox 89. I actually like it I've heard many criticism, but I do like it. So but let's go to see what Merger quest I had opened so author equals me and This is all my open merger quests. So the first one is This one and then I also did this one. We worked on these two patches last The week before last week So let's see. How did they go? So this one was to make the task manager margins to be as big as the panel ones and And what it's missing is okay it has been reviewed by Bevan Which is good news for me. So first of all my comment message is indeed missing the bug and Fixed in values as I expected and then I would suggest changing the commit message title to Make the size of the task manager margin as big as the panel ones. What did I say? Fixes the size. Yeah, it makes sense. But rewarding Okay, you can do that and Then we have this Transform rotate seems weird to me a square rotated by 90 is identical to the original Which makes sense this one No, actually Let me know it doesn't make sense. I should take this off And It is a great practice not to let your MR opened before opening a new one But I mean I had opened them within like one hour. So I Mean I cannot work just on one bug for week and then I wait some days for their view I can work on more than one merge request if they're on different repositories. So let's Actually Go ahead and edit my commit and since like it's just a matter of taking off the transform in this case I can just use the web And sorry the web What the IDE It's a pretty useful tool if you know what you're doing because by using the web IDE, you're not testing your changes but in this case, it's fine and Give it a second to open up and We can see that the web IDE does not support editing SVGs Thank you web ID I thought you were you was bad at this come on No, I need to use my local. Okay. Let's go to the My local framework Where is it Katie? frameworks Plasma framework and then source and It was in desktop theme breeze and then what was it? Yes widgets and task dot SVG nice and Sorry We can check out in what branch we are in its master. So let's check out to What was the name again fixed task manager margins like this? nice Then let's open This is weird like in the preview. I only see two margins. There should be four. Let's check that's with you with inkscape Maybe something is wrong Well Knowing how professionally I could it's for it seems to be wrong. Yes These two should be here So I got their coordinates wrong Nice Okay, let's fix this. Let's open this with Kate and then First of all we need to fix the coordinates, but these two transforms are useless, so let's just take them off and see if that Fixes it. Yes, it did. Nice. It was just the rotation that was Putting the elements in the wrong place Good job for good job on Maven for Finding that out Okay, so now that we fixed it we can add tasks SVG and now we need to commit this but Not in a new commit, but we'd like to put it in this commit and we'd also like to change the commit message So two things and I actually need to go all out of them because I am no get expert So Add changes to last commit get I think I know how to do this, but yes, it was a man. Yes I remember this and Then let's go with it Let's check if this one It's always a good practice to double check No, I did yes now in this case. I also want to add it a commit message. So let's go for it and Let's change as requested. So instead of we need to get back to the MR like this, let's change the name as What they asked for Made more sense than this Even earlier Here nice, let's copy this one Past it here Make the size of this much dimensions because the panel was nice and then this bug and fixed it And there's a typo, so let's fix that one. Nice let's push it to region and What was it work? Nikolov fixed task manager. Nice It didn't work. Why didn't it? No first world because it it's behind I'm just gonna force Because I know my local branches up to date So There's no Commit that was done here that I don't have locally. So this is fine You probably shouldn't force and probably like giving you bad advice or a bad example rather, but This is not a tutorial and this is me actually getting work done So let's see in the changes tab if it's correct and it looks like it is and the commit message message is Correct, so let's change the title as requested We changed the commit now. Let's change the title like this Save and then we kindly Kindly set all the comments as done So that we can actually merge this Where is it? Here we have a nice resolved thread button It is good practice not to let okay That's pretty much it Okay, let's switch to the second one Okay, so We've got a lot of feedback in here, so let's work with this So first of all, can you remove all of the debuts please? so as some people actually as one reviewer Noted in the comments of my last video. I actually forgot to Remove the debug lines all of these beautiful lines So let's actually take them off. Let's Switch, let's not use the web editor at all today. We are proud of our knowledge of Git, so let's go to caddy workspace Plasma work is Plasma workspace. Yes And then the file is shell panel C++ 9 10 50 Around here nice Yes, and again, we are not in the current correct a branch so git branch git check out Work Nikola fix containment rectangle and Now we all see the the bug lens, so let's take them off and then we can Change the commit message Let's see if Maven also suggested a better commit in here. So First of all, we need to add the two bag and fixed in Values like this. I won't forget them next time Yes, this is a difference from I'm sorry. I'm still used to fabricator where it was supposed to be in the description and I accidentally added a high O stream which has Okay, let's finish this one. Okay, and then this is a stream, of course should not be here I added it for The bugging purposes like this Okay, what else ping Nikola. Yeah, I'm sorry. Look I'm on it as I know that I take a bit of time to work on this but This should be perfect now. So let's push it get push origin work Nikola Okay, and again, it's going to give me an arrow. It's probably because I'm Like amending a previous commit. That's giving me this arrow But let's just force it and it's going to be fine Okay, and these two Marge requests should be good to go That was easy A third it was going to be much worse So This one looks nice. I resolved the threads. Okay, we can close it and this one And can you remove the debugs? Yes also add a comment Oh, I forgot this one also add a comment in the code for the reason the plus one and the man There's no plus one, right? Is there any plus one? Plus one minus one this is we did I write this let's check the changes and Plus one now the plus one is wrong It's accidentally Sorry, it's accidental. I did not want to actually commit to the plus one. So let's take it off Like this and like this and let's add a bit of a comment here we are moving on to the like because Because The Last pixel would otherwise Already be in the Marge and thus Discard and those the house event would be discarded That should be enough Is there any way to make this more clear? Instead that first pixel Given by this one is not in the margin So it's so it's good now It's not in the margin the first one. So it works okay, let's add and Commit and then force push again Like this what else Where is it? Let's go back Fixes the issue nice add to the committee and then blah blah blah blah. Yes, all changes have done So let's go into the changes and see that it is working it Come on update. I just pushed a new commit. Are you whatsoever? It's like just 11 o'clock. So Okay, we've got our commit nice and tidy And that's enough for us So let's switch to Back fixing because I've been requested to fix one particular bug that's Apparently very important and it is important but where is it panel opacity setting is not remembered this But so I can't I can't actually test this because otherwise the screen recording will be gone and Raising to very high Importance so we don't forget to fix before 5.10. I won't forget Here I am working on this bug and What's the issue if you set the panel to anything but Adaptive like opaque. It's not going to be remembered That's pretty bad. I agree So let's see you why is that so where is the code to actually read and remember That setting Let's go again into panel view In panel view, I think that it might be in the When you create an instance of the panel view and And The opacity mode is adaptive by default, but the opacity mode should be and it's not Should be loaded. I Think there was a code that actually loaded all this stuff. Maybe it wasn't in this file Let's see if we have like visibility mode, which we are sure it is Is remembered? Let's see where else in the file Is this? There's nothing that actually like sets Nothing like that now it seems like actually loading these these Values Is not done here, so let's actually see where I implemented it so All the merge requests have done and let's search for I don't know. What was it again? adaptive adaptive adaptive adaptive Adaptive transparency for panels. Yeah, it should be maybe not plasma desktop I'm pretty sure there was a plasma workspace patch, but let's see In order to implement the adaptive transparency for panels, I did this code that's loading This one is not this one. Not this one and Not this one either Okay, so it was the plasma workspace patch, which is here This patch I'm pretty sure it was not the framework patch, but you can check there as well if necessary Let's see the changes and again I gotta say that GitLab is not like the fastest tool I use Not here not here Not here not here. This is all the filter maximized, which is different different stuff Ah, there was this panel config view. Yes. It was that file. Okay, so let's open up Panel config view and in here we've got What do we have? Not much stuff actually Am I sure that it's in here? Maybe it's not. Let's go back Set opacity Yeah, no, it's not in this not here panel view Connect the theme changed to update the opacity. Okay. Makes sense All of this stuff Well, this one is seems to be related config parent right entry panel opacity mode so opacity sorry, so This one seemed to be saving the value but and in this line, I'm actually Reading it. Okay, so line 636 of panel view 636 Set opacity mode to opacity mode red config with fallback panel opacity It's an opposite rate. Yes panel opacity Oops, I got lost here panel opacity panel view Opacity mode adaptive this one I guess is the fallback So what's not working? So set visibility mode I wonder Is this back just on Boot or is it also in plasmashall restart so let's restart promise plasmashall and see if we can reproduce the bug So let's go plasmashall replace Restart this replace again no hurry plasma That's kidding Okay, let's see. What is the? Opposite of the panel and it's adaptive. Okay, we did Confirm the bug so it is not reading the correct value here So opacity mode red config with fallback panel opacity and view opposite mode adaptive Okay, so let's try a thing. Let's try to copy paste the code that was above it, which is not like the This one was a better approach to reading the value, but let's see if this one worked now or the less This one is opacity opacity mode panel config parent read entry panel opacity panel config reg entry panel opacity in not normal panel, but on this one This is the fallback. I guess let's try to compile Let's go to build caddy workspace plasma workspace make install and Compile it how many hours is it going to take please? work nicely please It doesn't seem to be working nicely to be honest one percent five percent. Okay, it's going pretty fast Looks good to me and then it slows down Okay, never mind so Now that I think about it actually stop I am still on the wrong branch Yes, I need to Go back in master Please commit to search. Okay. Let's actually revert the changes with control Z very professional Let's get back to master nice. Now. Let's again Reload the changes like this And then let's compile now so that it's based on master it might Make it a bit faster since I had compiled this repository With master like this morning so hopefully but It's a watch out. So anyway, I'll just pause the recording until it's compiled While we are waiting for Plasma workspace to compile I've actually forgotten to do one very important thing about our You know patches. So let's get back to them one second Mainly the Plasma desktop one because it's the one where is it? Merge requests is the one that I can actually work on because Plasma workspace is compiling Never change the source code of something you're compiling So not as any but odor That's me Again, no hurry github known whatsoever okay in here and As we can see the big The big Button, that's green and the big green button That should be here. It's still loading Again as the last video. I've got a slow Wi-Fi so rebase so basically This is not based on mass on the lattice committee master So we need to revisit sometimes pushing this button. It's enough. Sometimes I need to do it manually. So let's Slide like the button of truth Who knows if it's going to work If it doesn't You will see big red arrows pop up all over the place But it worked nice Thank you. So let's get back and try to do the same thing with the other one. So This one and Let's try to press the big green button Hopefully it's going to be enough for this one as well because again, it's compelling so I can't work on it 90% done. I need to like make up some Topics to talk about while invent is loading because otherwise like silence is a bit weak and You know, there's also defect It didn't work and No, I think it actually did rubies, but it's telling me that there's some not resolve thread This one I've done and this one I've also done So let's click on resolve thread Resolved and now that I've solved everything now. It's still missing something Where is the button? I Pressed on this button. Is there any other resolve thread button that I'm not seeing Is it can you spot it? What am I missing? Was it broken come on github at least try to be let's just Reload the page and hope that it helps I Actually, I think that github is so much better than Fabricator now that we've switched to it, but Sometimes these little things are so annoying Okay, so this one is solved this one is solved this one is not solved for some reason didn't work So now that I press resolve thread The big button is going to be green we can actually merge this patch query create But let's wait for like Another review or something so meanwhile we're 90% here and it's done So now just to be sure That's actually this console we didn't need it just to be sure that we are actually using the right You know binary Let's add some like Lots of Qt backlines When the panels boots up to see if it's going with them the latest Well, not the latest but the version we're working on So let's recompile but it's going to be much faster this time and then we just have to source the prefix And after that it's just plus my shutter please Where's the console here, okay So Looks like it's almost done Okay What is it again? We've said that it's Prefix and then let's restart Let's look for our console log Then it's not console logs are Qt bugs I don't see any I still don't see any Still nothing There's a four in here Why is there a four who knows? Let's get back. Let's see if we missed them. Nope Okay, so our Qt bugs didn't Take effect That's too bad. I'm not sure what's wrong Really? If we go to our code Pretty clear that they should Qt back a lot of stuff So this is panel view which is in workspace And browser works is we we built latest version and it's done. It is weird Maybe what what function is this anyway? Restore All the defaults are based on whatever Are the current values so want to be weird layer reset after screen resolution change Okay Sounds good to me. What can I say? And then we restart Now because maybe I think another reason because I've done a source prefix, but from the other console I needed to do from here So build Workspace plasmo workspace Graphics, okay, so now let's just start plasmo shell Place Now we should see our The bug lines, please Please Yes, the the bug lines It's working So let's see if this fixed our bug Thank you Let's change the panel from I don't Oh, it's a big so it looks like it worked So there's some problem apparently with Red config value with fold back As I had okay, I can actually take this one off off now Like this nice, so My Red config value with fold back is not working weird It's panel opacity panel view opacity mode adaptive This looks correct. I don't see why it shouldn't be working Maybe Let's do a test Thickness, okay thickness is Red using red config value with fold back Let's try to see how it is set. So The function should be like set Thickness Config right entry thickness Config defaults, right. Maybe I'm missing this config default. Okay, let's Make this line purple And Copy paste this into set Add up Set opacity mode So what we've got is this one And what the other one is using this one very different so I mean not that different, but it's a bit different That might be enough. So let's try to take off this parent and then let's also Go with config defaults And then we can actually try to see if like Both of them are necessary. Actually, let's just Actually, let's just start with a config like this And then down this one purple as well And then down In line what was it six five six That was it was a rest. Sorry restor command okay Here, let's only use the red config value with fold back Let's compile And hopefully this will fix it. I'm sorry that this bug is like not very interesting but You know all bugs are bugs worth fixing. I guess so Let's go with it Because you have to know that yes, there are some bugs that are more interesting compared to other bugs like as an example one Never mind That was a stupid example so Anyway, it's done pretty much. Okay. Now. Let's try to restart plasmash Now it is opaque so we can Check out if it's working based on stop. Please stop You can check out if it's working Based on that Okay, opaque replace plasmashaw The source you have to do just one time for each like console so Not every time Now let's edit the panel and see It's adaptive. Okay, so it's not working. But if we now try to set the opaque Setting with our new code And then restart. Maybe this time it would be properly saved Who knows? Let's see So let's Edit and then see It's still adaptive So let's try to Also add the setup as not sorry not this one the What is it? Purple line actually let's add a purple line here as well so purple line We need this purple line. Let's try to enable config defaults as well. Maybe it's this one I'm not sure what it does, but Why not try it? So let's compile again. Then we need to restart Set the opacity Restart again And check if it was saved Or if it was lost in the panel in a Plasmashaw replace Okay, almost done Almost done If you think you have a good topic that I should talk about in like loading screens to fill the empty space Please write a comment. So I will know what to focus like I could do some kind of Q&A Like every time there's I need to compile something I just pop up some question and I'm just getting told for So let's edit the panel Set Was it opaque? Why is it opaque? Why is it working? This is weird Should not be working Was it working? What if we try I don't know to switch to translucent Is this remembered? I'm pretty sure that what we've done so far fixes it, but I thought it was both lines not just the first one Or maybe it is indeed two lines I don't know how to interpret this thing that is now working properly It's not working. It's now stuck with opaque I mean What? Have I done something that made it Stuck to opaque Is so weird so Now it is translucent So it seems to be working, but a bit Upon like two restarts instead of one I have to restart plasma two times for it to take effect That's very weird Totally shouldn't happen Let's replace a couple of time to see if that's the case So Still translucent even though I clicked on opaque last time and if we replace one more time This is very weird. I cannot find any reason why that would be the case Now it's opaque. Why is that? This is crazy so This only takes effect like But why is it saving on the parent config? This is weird. Okay, let's get back to the other purple line and take as a reference another Red the value with the fallback Like we checked the offset Let's try to check. I don't know max length. Why not? Max length Max length Okay Config config defaults. So it seems to be this one. What if Okay, I've got an idea. So let's get back to our purple line What if it's not set opacity mode? but rather Opacity mode equals Because what we're doing here is directly set I don't know. I don't see why it would make sense, but we can try it out anyway But the problem is that in set opacity mode We also emit opacity mode changed that might be necessary for like other tough work Actually telling the other people that we've got opacity mode But the problem is that If I'm opacity Doesn't equal mode opacity mode is adaptive by default So Okay, so when you first Run this for the first time This one is indeed different because this one is opaque. This one is adaptive. So this one is set to opaque And then it's Great. This looks mostly correct to me Let's try this version where I don't actually call that function at all So what could be the first question of our super interesting q&a? I'm actually thinking that my next batch will be To make the panels be able to float Because I've seen so many requests for doing so But I don't know. I should like check out in the code How I could do that But it is totally like in my plans to do that Okay Let's go with this So Now it is Opique let's set translucent Okay replace Sorry plasma Okay, it's still opaque. Okay, so it's still like two times Second one is a show What was it? Yes, it worked. So it's still like the second time You try to say it's probably probably other works or doesn't work regardless if we call this set opacity so might as well call it and Weird cleanup it seems like the Reliable ways to use this old panel config parent read entry Which is very weird otherwise I don't see Is there any other okay, so we have a definition for this one And it is int value config read entry k config default read entry k default value Okay So it tries to read the config And if it doesn't work it tries to read the config defaults If it doesn't work it try it just spits out the default value So it does make sense to set config and config defaults instead of instead of The other ones instead of parent config because it is indeed This one I really don't see why it wouldn't work. Let's go to purple line Where's our purple line? I see it somewhere config write entry thickness Maybe this one is after The thickness changed I don't know. This is like completely unrelated But I mean We shouldn't check if config parent is valid We should just do it This is handled handled Okay, so let's go with this code order like this I'm opacity blah blah blah, okay Which looks very much like the other one, right? Emit thickness blah blah blah request application config sync Like this So let's try to compile this So it's actually pretty easy to like add some margins around the panel just in the panel view criminal code, but that wouldn't actually make the panel float because That would just add some margins that would make the panel smaller Potentially rounded but Still smaller than what it should be. So we should actually have some code that actually like Moves the containment Not the container. It's the view. It's the view The position and size So let's see If this one works So we've got And We've got translucent. Okay, let's try to switch to pig Okay Let's replace let's switch I just try to switch to pig, right? I have a bit of a headache so A stuck Still stuck on translucent So let's replace again And magically it will be opaque I guess It is I mean it's still better than What we had at the beginning where it was like completely stuck it didn't change at all but still weird that we need to Reboot it two times for it to work Shouldn't be like that. So the other I mean the other all the other white hand right hand tree looks like that this one is parent not interesting This one They all look the same And just like ours So I don't see the point Or is it the third Purple line. Yep Now seriously It looks Just fine to me So let's give it one last shot before Calling this version just fine. Let's cue the bug The value that has been read so um opacity mode Let's try to see what it is and we need to actually you know Make this visible Otherwise, you will never find it in the log So let's make it stop And sorry, I'm I'm a bit tired so I will take a bit of silence It's weird that you know in coding there's Some tasks that require Oh, there's some mistakes That require five seconds and some tasks that require like 10 minutes So let's actually switch to An integer here Let's try again to make install It's still not working, you know, I kind of like Hate I'm used to Python or like the world is beautiful and you never have This Problems So I don't see why it would Refute oh come on This is the same mistake I've done last time The same exact mistake I'm not even learning anything out of this Just kidding Okay, now it worked. So let's um Actually, can I make this smaller? Replace We are not getting our debug lines Nope, not the bug lines to be seen Nothing This is not Not good news We should see the debug lines Maybe we have too many debug lines for different stuff Maybe it's because it actually wants like An empty string Let's try with that Make install And then we just have to try This new thing out. So now it's opaque Thank you Now that we know it's opaque Let's try to set it to translucent And to see what value gets right After their start it's still opaque Okay But now if we do Try again to restart the panel magic translucent So it still requires two reboots To get to the normal value Let's make an experiment Let's Go with I don't know And do we have here Panel alignment That's No alignment is Well All of these uses the old one Oh Incredibly, we've got a do not use red config value with fallback So what's that panel visibility is not resolution dependent But it fails read it from the resolution dependent one as the place for this config Okay is changed in plasma 5.9 Seems unrelated so Set opacity mode Dear set opacity mode. Why are you not working? You are not setting our opacity mode I'm not happy with you So let's try to debug some so Let's go with q debug This time let's go with I don't know lines Lots of lines and then we say This is like Inside the loop the The loop is fine. It's not a loop but And then we actually print out the actual Mode that we just set to the config and see What whether this works? Okay, so okay. No, this is weird Not so much but this is unrelated so Panel view is tried to be translucent And then just for sure it's again set to translucent again but if you go to the bottom and edit panel and then try to set a pic We'll see that It has been set to pick if we restart It was a pic But now it's translucent And it's it has been set to translucent This is very weird I wonder if this happens for like just the adaptive transparent Adaptive transparency property for like each one But I don't think that I'm like Uh, I don't think it's my fault. I think that Uh, I didn't I didn't do this Because everything I do is Is Correct Just looking at the log I don't see why it couldn't work on this Let's try to see if there's any other weird I think that's Maybe a bug with red config value it fall back Sometimes there are some battles that you can just just can't win So let's be happy with what we've done so far Let's uh Commit This these changes Take off the the bug lines because I've actually Learned something from last time And then this is just How it should be done. Okay. So let's commit the stuff So get diff Yes, this is the diff I want Get check out minus b work slash declare slash set Config Properly Is this actually the correct? If config is valid. Yes, this looks correct Set config properly. Okay get add a Panel view Get commit Use Now it's actually set the config for adaptive transparency with to Config and Config defaults instead of Config parent and then We put the magic Values that have been asked to put so boring, right? Okay, and here it's This is plasmolk species and the bug number is This one Okay, so then we push into origin Work nicolov set config problem And then that should be enough to create the merge request. So let's copy the link and paste it here So blah blah blah blah blah Okay I was using the Curve to set the config to the Part and reading it with and what's the name again red config with fallback purple line Where are you? Okay, this one Which reads config Config defaults. Okay. This one should fix it. There's still this weird two reboots to actually get it working thing No clue but This should still fix it and then I can actually try to like ask who This code is like Mark, right? That's mark. I can maybe Try to ask mark with He knows what could be the issue Let's try to rebase immediately Because uh, I've maybe I forgot to Rebase my no, I'm sorry to get pool my master. So it was lagging behind but This is the patch pretty much And this should fix This bug So I didn't the Related merge request Yeah, yeah relevant merge request was started And um, I hope that this fix it properly Let the reviewer Decide I guess But for now it's midnight So I'll Stop so thank you for following through and good night