 okay so floating panels well it's been a while and I've actually been working on it and I had some issues that's why I didn't post any update but I now want to share what those issues are and I think we found a solution for them it's not really a solution as I'll explain and I'll try to go on I've had some more issues but again we'll get to it so the first thing which I actually talked about in the last video is that I wanted to do a panel that's floating but still preserves usability in the form of fit slow so if you try to go all bottom left with the mouse and click you should always be able to trigger the app menu as an example and what that means is that we need a bigger window compared to what the dock actually is so that all of the input input that's around the panel gets redirected inside of it so we need a bigger window with inside of it the panel and all outside of the panel is transparent which is what we did in the last video if you haven't seen it go give it a watch and the issue was that the shadow of the window is managed by Kevin and it was drawn at like the larger window which means that we have the shadow and then empty space and then inside of it the panel which is a problem because the shadow was not actually attached to the panel which is what we want so the basically only way to solve this was to use csd shadows and those are a mess like a latte doc does that I honestly did not want to add to plasma the burden of csd shadows so after a bit of thought and talking to other plasma people I've decided that plasma floating plasma panels would not support shadows like at all you wouldn't have you wouldn't be able to have shadows so you do have your floating panel but no shadow and I think that's not so controversial because most of the setups that I've actually seen that use floating panels do not actually use any shadow if you think of something like that tries to mimic iOS or that sort of stuff they don't use shadow so it's a bit of a limitation but there are very good technical reasons for it so sorry about that so having decided that it was much easier to actually implement it so I went ahead and write a bunch of code I did actually write the code to turn off the shadow because it would be weird to have like the floating shadow so I just turned it off and that was done so it's actually already if I'm able to I want to show you but there seems still an issue which is quite a big one not really luckily that is that everything I worked on on the last video well I accidentally threw that away that was honestly an accident I didn't like check it on the committed sorry to a different branch so it was gone but it wasn't that much so it wasn't an issue but when I actually tried re-implementing the same things that I did last time they didn't work for some reason so what I'm going to do now is show you what I did new and then try to make what I did last time work again with this one so first of all we open up the correct repository which is what I'm trying to show you again the shadow which is frameworks so frameworks in plasma frameworks and to turn off the shadow no it's not frameworks sorry it's workspace because I want to go to plasma workspace where is it workspace source kth workspace plasma workspace so many directories I always feel lost and it should be shall and then panel view so what I did and no thank you but I did not want to use this application and let's see if I can pop it up on the console so we go for get diff and there's nothing get branch and we can see that there should be a branch called floating panel which is whoops the one I've been working on sorry about that so oh come on so we check out that brand so get check out the branch like that we shouldn't still have any gif but in log we have the last commit which is at code read panel floating values and what is that we can show that commit I'm getting better at get like I didn't know how to do all of these things like a couple of months ago but anyway so we have all of these things so this is not very interesting stuff the interesting stuff is this one so basically what this does is when I update the floating status whether it's floating or not well this one checks for the panel element of qml the qml sorry panel element and if there's no qml panel then oh no let's just return and that's it we should always I think have a qml panel in hand and if there is a qml panel then we read the property floating and we converting to a boolean which is either true or false and if we are indeed floating then we remove the shadows else we add them in this way we are guaranteed to always have shadows when the panel is floating and never have them when it's not so this was the nice code the very easy one in plasma workspace now what I had to do I mean all all that I didn't show you is just calling that function at the right moment nothing too interesting but the interesting part is now that we have to actually make the panel floating from a you know ice point of view that you can actually see that is floating and that was what we did last time and now I'm actually unable to do it anymore which is weird to say the least so I think I do have a lot of changes here which are lots of lots of them and we'll get into that in another video it's very interesting I'm let's add everything and get commit which is tough I'm trying to make the panel better I'll do an entire video about that but right now what we're interested in is I think just master I didn't create any branch for it so check out master get pulled because it's always nice to get pulled whoa lots of stuff this is going to take a lot of compiling nice and now we can actually try to do what we did last time which is to just add some margin around the panel when in the QML panel file which is in containment's panel contents UI main QML no it's the other one sorry there are two QML files for the panel if you don't know which one is which I've done a video about that too I'll just link it in the description or something is in desktop package contents views panel this one we've got both just for sure now the idea is we have this containment parent element and the only thing we really need to do is to add some margin around it I mean it's a bit more complicated than that but it's a start so we feel parent but with a left margin of I don't know five right margin of I don't know five and bottom margin of I don't know five then that we can go back and open up the build directory which is same but with build instead of source KDE workspace Plasma desktop make install like this and this is not probably the time where I have to cut the video because it's going to take years okay now it's done so we source the prefix here and we see if it worked or not Plasma shall replace I didn't do that long I thought worse okay so it's throwing away the bug info that I was working on but still it should be a mess okay so it makes sense as you can see there is actually the margin I was talking about you can see that I mean there is no margin as far as the background goes but the inside does take account of the margin so we now need to add the margins for the SVG elements as well which is I think here frame SVG item the translucent item and the opaque one both of this again we replace the anchors I mean we add sure parent but also bottom part I mean we can just copy paste that at the one it's easier that way and just by doing this it should like work out of the box and it did work to be fair last time I tried it then sorry in the last video I've done but when I actually tried it again well it didn't work as you can see I was like rewatch rewatching the video to see if I did anything weird but I didn't so let's see what happens this way and hopefully we'll actually get to see anything working let's throw a pseudo at it and what didn't work is that I actually got some weird well the background contrast effect and blur effect were not the same size and shape as the panel which was so weird in this case we're kind of there are some issues I can see well the first one being shadow but we knew about that already I didn't yet actually do the floating variable so that we knew about and but except that what's this blue weird thing over here why is this blue if we get into panel edit mode well it's still there and that looks weird and even before when the panel was maximized like that there is this weird ah yes okay I know what that is yes as I was telling you you can see that the contrast effect is going a bit crazy this blue part actually comes from the background which is taken blurred and contrast affected to become blue so that when you actually overlay the panel it gets bluer as well however it shouldn't be there it's in the wrong position compared you can even see here that we are actually lacking something it's this is wrong and it's annoying what happens if we maximize a window okay so the transparent svg is in the same place of the other one which in theory should make everything work which it doesn't and there's no other svg that could like break this and if we I don't know let's say we only consider the bottom margin like that we should get like in this situation where it's just floating it's already a bit better than last time I tried it but it shouldn't be there though so we restart the plasma shell and let's see where this takes us and this looks good and believe it or not this actually looks good because knowing that we'll actually take an account the width of the margin down here into the panel height well we also need to make the bottom corner rounded I think I did that last time in the video it's not that hard but of course it shouldn't it should also work if we had some left and right margin anyway that was actually just everything I wanted to say for the update this was not like a fully fledged devlog it just I just want to say I'm still working on this and hopefully it shouldn't take too much I hope like a week or two until I am in a state where I can actually propose a merger quest and could be worse I don't know see you next time