 As you might know, I very recently actually managed to get floating panels landed on KD Plasma, so they will be in Plasma 5.25. At the same time, and seriously, at a rough the same time, I actually managed to get landed also the panel refactoring that I did, where I basically changed all of the code of the Plasma panels to make it more efficient and easier to actually understand and change later on. But doing these two things at the same time actually created so many bug reports about the Plasma panel and just during the review phase of Plasma 5.25. It will be released if you don't know that in a couple of weeks and that means that within a couple of weeks it should be ready and without bugs and there are a lot that were actually brought up by reviewers. So let me actually talk about that a bit. So this is my floating panel and there are about the floating panel. There are actually two bugs that I already knew about when I actually clicked on merge floating panels. The first one is that in Wayland, we are not on Wayland, so here it looks right, but on Wayland you still see a floating shadow into nothing that looks off and I would really like to get rid of it. However, I'm not sure how yet. I need to discuss that with K-Win developers. So that's one bug that I already know about and currently I cannot do that much about it. I need to actually take the time to discuss with K-Win developers why the function that in theory should hide the shadows isn't. The second bug that I already knew about when I merged the floating panels is that on Wayland, use X if you want a more stable session about floating panels apparently, but on Wayland if you're using floating panels and at the same time you're using scaling you will see that the background underneath the panel, so all underneath here and on the right is actually white for some reason and I actually know the reason very well. So when you draw a panel there is something that gets drawn underneath the panel which is called the contrast effect. This is like the fifth time I'm explaining the contrast effect. The contrast effect is basically a white rectangle with rounded corners that makes sure that A you can always see what's on the panel even on very dark wallpapers. It is a white rectangle so it makes sure that contrast is always there and of course it's whiter on dark backgrounds and it also takes color and makes them very saturated which means that if you got like a redish wallpaper the contrast effect will make that super red and the transparent floating panel with blur on top of it will make sure that you do actually see that red in the panel as a result of the blur which looks pretty. So it's an important part of the design. Now if you want to get rid of the bug you're just going to settings and disable contrast effect. I generally advise against it because it's part of the design of the plasma panels but if it's a bug then you can work around it by actually disabling contrast effect all together. Why it's happening? Okay so in order to know where this contrast effect should be applied the SVG of the panel has actually an element called an SVG element called the mask and the mask specifies the position and size basically and so when the SVG is loaded and positioned in the screen you also get a mask that is in the same position and the same size. What happens during scaling is that the mask gets actually scaled to be bigger than it should because of scaling but it shouldn't actually get scaled. I'm not sure why but it shouldn't and by scaling it it actually becomes bigger than it should. Imagine it as if we were applying scaling two times. So it is one and a half times bigger and then another wine and a half times bigger and of course it becomes bigger compared to the panel and the wet rectangle is visible underneath and to the right of the panel. That's what's happening. These were the two bugs related to the floating panels both of them both of them are still there and both of them require some help from the k-wind team because they're very k-wind related stuff. With these two out of the way there are also the bugs that pop up about the panel itself the refactoring. So first of all I discovered that I had done a very stupid mistake let me see if I can actually bring this up. Panel refactoring layout manager here. So we've got this thingy here look at here. I wrote if the applet plugin name is plasma icon and middle equals currently out chilled at. Okay what does this do? So first of all it checks the name of the applet and it checks that it's a plasma icon. Plasma icons are the ones that you can actually add by right clicking an app and clicking on add to panel as we get this thingy here and then you can actually get rid of it then. So it checks for those kind of applets and then it calculates the applet in the middle and it assigns it to the variable middle which will be later on used. So that's easy. I thought this was pretty straightforward. It's not why because before my fix I did not have this line and it still looks correct but middle now is not a declared variable which means that when I attempt to put a value inside of it I get an error because in QML I cannot give a value to anything that was not declared first. So I just had to literally add middle and the bug was gone. What was the bug? Well whenever there was an icon on the panel the whole panel would just stop working entirely. You wouldn't just see it and that's because after inserting the second element well there was this bug and an exception is raised here and everything that's next to this applet wouldn't even get processed because an exception stops the for loop it's in. So that was a bug. Also in theory these applets should be added to the middle which is why I'm checking for the middle element. However what happens which I also fixed in the same merge request is that for some reason it was added as the first element instead of the middle. Now within the middle I meant to the left of the middle element which is the task manager so it's here but it was added to the left of even the application launcher which was wrong. So what was happening? Well simply enough I had swapped the order of the things so this was up here and pretend that I didn't mess up the syntax but what happens here is that if x and y are positive coordinates then you insert the applet there otherwise I'll see if then you insert it at the middle. Issue the coordinates of the plasma icon item were zero zero which meant that they were actually added at zero zero which is top left so that was wrong and it was just a matter of actually changing the order of the elements and that was as easy as that. Some things weren't as easy and luckily even though some bug reports even though I've got exams honestly and I'm also working on the promotion of plasma5.25 so I don't have that much time to actually go around and fix bugs. I received help. I received help in actually finding those bugs and coming up with solutions by like Nate Fushan I think it's pronounced if it's not pronounced like that sorry about that. There was also this issue that when the panel is not floating yeah not floating but adaptive and then you maximize a window you can see that it becomes opaque and all of the applets also become opaque whereas if it's not maximized it's actually transparent you can see that much but it is and the applets are also transparent and there was this bug that Nate brought up to me because I didn't even notice the bug report which was that the opposite was happening and that was weird so when the panel was transparent the applets were opaque when the panel was opaque the applets were transparent and thankfully I managed to fix that also within 10 minutes this one is in the other session this one okay it is it was I'm actually missing right here so what's the issue well whatever I was doing is uh in here I'm checking whether the panel should be transparent based on various things like is it floating is the screen covered did uh is the setting set to adaptive or is it opaque all of these things and you can see that I'm setting this variable to be one if she if it should be opaque and zero if it shouldn't and what I was doing then in this if this is the if that actually tells applets whether they should be transparent or not and what I was doing is I was doing big um sorry panel opacity equals one okay so if panel opacity is one then also the applets should be opaque if it's zero then they shouldn't straightforward right well it's wrong why because yes I am setting this as an example I am setting this to one just before actually checking for this value so you would say that if I set it here to one then it becomes one it doesn't because this manual opacity is a property that has uh that have a behavior on this which is a number animation which means that it actually animates from one value to another which means that if I take this variable and it's zero and I set it one it actually takes uh around the second for it to actually get one because there's the whole animation from zero to one which means that in here if I set it to one and then immediately check for the value well I didn't have enough time yet to actually change the value from zero to one the animation wasn't complete so this still read at zero even though I had just set it at one and this means that it was actually taking the starting value and not the end value of the animation how did I fix this well I just created a new property called opaque applets which is just false or true and I set it to true when the applets should be opaque and this one is not animated which means that if I set it to true here it still stays true here it doesn't do any weird animation things now it's fixed this set there are still bugs about the panel hopefully they will be fixed by 5.25 release obviously and I don't know how much time I personally will be able to go there and fix bugs to merge requests because I've got so many things to do honestly I've got exams but I'm also going from Friday to Sunday to Florence to a Python conference I held a talk at a Python conference but I also organized Easter egg there and more because I also need to prepare everything for the Plasma 5.5 release from a promotion point of view so so many things and train my best luckily I've got people to help me so hopefully this will go for the best I just showcased the bugs that were reported to me that I actually managed to fix myself to talk about the things that I personally did to make sure that it actually worked in the it actually works in the final release so thanks for following along