 Hello everybody to yet another episode of I messed up, but in a funny way, not that bad of a mess up. So what happened? This actually, this whole thing is born from a very interesting bug report, which I think is very fair and I was happy to receive it because I can fix it. That is, tick the panel. So you know, you can change the size of the panel just like this. And here is the thing. The bug report said that you can see, look at the kickoff icon here on the bottom left. If you go to size 38, of course it becomes smaller because there's not enough space to display the bigger icon in a 38 pixel panel. If you go to 40, then it becomes bigger. Now here's the thing. If I switch from 38 to 36, then the task manager also becomes smaller. See, it changes the size because there's not enough space to change, you know, to have still the bigger task manager icons. So where's the issue? Well, the issue is that, of course, the size of the icons of the kickoff on the left and task manager in my case on the center should be the same, like they are the same size under the hood. So they should switch between one size to another at the same time. Obviously. And here's the thing. I thought it worked. I thought it worked. Like I was sure I had fixed that. Something like one year prior. So I was like, okay, what's going on? So a little bit of background. The panel applies some margins that can be found in the plasma theme in an SVG. The plasma theme can be found in USR, SHIR, plasma desktop theme, and then default. This is the default plasma theme. And then here in translucent, you do have the panel background, the SVG. And if you open up that one, you can see all of these elements. And this is the margin hint top margin, which specifies the top margin of the panel. And then the bottom one left margin and right margin makes sense, right? Well, here's the thing. Some outlets such as the task manager want to extend to borders. If you look at a task manager, then you can notice pretty easily that the highlight actually touches the border of the panel. So what does it do? The task manager actually goes to the panel and says, please, I do not want to use panel margins at all. So they can actually, you know, extend things to the borders. However, obviously, you want the icons inside of the task manager to still preserve the same margin as the panel. Obviously, you just want the background to extend the borders. So what do you do? You reapply inside the task manager the same margins as you do with the panel. Here's what goes wrong. Apparently, the margins that are applied in the task manager as are smaller compared to the margins that are applied to the panel, which means that when you actually make the panel smaller, the panel will have more margin compared to the icons in the task manager. What is that? So my first thought was, okay, let's check the margin of the panel. And then let's check the margin of the task manager, right? You can see that these are four pixels, four by four. So, okay, let's see the task manager, which you can find also in the same folder, but underneath widgets tasks.dison. And you can see that we do have the margin here as well. So let's zoom in. Let's turn on the grid. Okay, how many pixels are this? One, two, three, four, four pixels on the panel, four pixels on the task manager. Apparently, nothing is wrong. Yet it doesn't work. So what's going on? How long should I make this story? Because I can make it very short. The mistake was very stupid. What did I do when adding the margin to the task.svg? So forget that this existed, just like this. I thought, okay, I want the task manager to have the same margins as the panel. So I took the panel SVG, this one, I took this, and, you know, I just copy pasted them. Let me show you. Copy, paste. That's it. And then, of course, I rearrange them so that they are in the right place. That's what I did. And in my mind, everything was fine. But it wasn't, it wasn't. The mistake is very subtle, actually. And it is based on the fact that you can see that here we have a lot of elements, actually. And all of these elements are, let me do this real quick. Okay, nice. All of these elements are different possible combinations of the task manager. This is an in progress task. This is an active task. This is a normal task. This is a task that you're currently hovering, like this. And this is a task that requires attention. And for each one of these, and this is disabled, like a minimized, sorry. And for each of these, we also have variants for, you know, the various place you can have the task manager in. So, of course, to be a two for the code to be able to know which SPG we are currently using, each one of these element has a different name. You can see it here. This is called progress. This is called focus. This is called normal. And this is called other. This is called attention. And this is called minimized. Very simple, right? Now, here's the thing. If you want this merge to be part of this element, this also need to be called normal. And that's it. I forgot to change the name. And since these have no name whatsoever, they are not linked to any element whatsoever. And those, they are just ignored because they don't have an element. Whenever we go and actually draw anything on the task manager, we say, okay, draw a normal element, and then take the margins of the normal element as a reference. So, but if this was broken, because it was broken, it was almost as if we didn't have margins at all, how come that I never noticed how calm that it actually kind of worked? Because I mean, you still had a margin around the task manager. So that part actually worked. It's just that it was a bit less. So I went to the code and I checked how much margin we had. And it was three pixels. And I was like, what? Because, okay, we have four pixels here. This is a copy pasted, but again, a copy pasted wrong. So why do we get three pixels here? What's what's up? Here's the thing. This element, which looks like just one piece is actually made of nine different pieces. There's the central part, the top part, the top left part, the top right part, right part, right bottom left bottom left, these nine elements. Why? Because it makes it much easier to actually draw this thing on screen, regardless of the size that this thing will have to cover. And the size of the border elements is three pixels. You can see that they all, they are all three pixels high. So here's the thing, the code that reads the SPG, if you ask for the margin and there is no margin element, I thought there was, but I had given it the wrong name. So the code thought that there was no margin, then it just uses as a fallback the size of the corner elements, which is three pixel. And that's it. This is why on the panel, the task manager had three pixels margin instead of four. It is one pixel difference. And yet somebody noticed. But I mean, you cannot blame me for literally not noticing for an entire year, right? It's just one pixel. How could I notice one pixel? But yeah, it was a consistency issue. Icon, sorry, should always be the same size if they're in the same era. So it was very nice to fix it. How did I fix this? I just gave the right name to the margin. Now they are called a hint normal margins. And that's it. That was the dumb best mistake. Like I just literally copy pasted stuff without even thinking about it. That was so dumb. And it's so beautiful that the mistake that resulted from this is that we had one pixel less compared to that compared to what we expected, just one pixel. And yet people noticed. And now it's fixed. This is amazing. Anyway, we are actually in a nice shape to try to reach my goal for November. But I'm actually working at like 15 years per hour right now on KD and this channel, which is great. But this is because most of the donations I have are at the beginning of the month as time progresses, they go down. And it's harder to actually make a living of that. It's impossible. But I'm trying. So if you want to help me, you know, continue this bug fixings around, I know that you're not excited about me fixing one pixel of the margin, but it's part of my job, let's say. So if you want to help me out, that would be awesome actually. So thanks everybody for following and see you tomorrow with yet another video. Bye.