 Will KD Plasma get quick toggles or control center or whatever you want to call it? Welcome to yet another episode of Nikolov. Does a click bake title and then hands off, I don't know. So this is how it goes. I can actually provide some insight about this. Apparently lately everybody has started noticing that something like a quick control, which I think comes from the fact that a lot of users now have phones as the main drivers actually. And they do want to have something similar to what they have in phones in desktops as well with something like a control center that makes the user feel in control. They have one place where they can edit everything and I can see the point of it really. And personally, I'm actually a big fan of this kind of things. I would like personally KD to have quick toggles and things like this. And I've actually advocated for them for years, way before Macintosh had them actually, way before GNOME, way before Deepin. This is actually a screenshot candle leaked. I mean, it was removed after negative feedback, but this was a screenshot of the beta of the Deepin version, version number 23. We also get the very same idea in GNOME 43. And lately there is even this control for KDE. And you might say that this just answers the question in the title, will KDE get quick toggles? Yes, you can just download this, but the real question is, will KDE get quick toggles out of the box for everyone? That's much different than just having a third party update. So the first question is, will something like this be upstreamed to KDE? Now, this is my take. Obviously, I think the answer is no, as somebody who has some insights on how KDE works. Something like this is not something that the KDE visual design team is currently interested in. And I think it's very, very clear, that is very, very clear just by reading the chats. And again, if it was up to me, we could consider it, but I'm not KDE, so it's not up to me. However, look, in fact, there is even a webpage. Let me bring that up. Let me. Yes, there is a page called Lesson Learned, which is mostly, I think, maintained by Nate, who's doing a great job of putting together things that we get together and discuss every month or something like that. And the 13th is, why don't we have a control center? And here there are many arguments against using a control center, which are generally valid, actually. And the fact is that our system tree is very good, as it is right now. And bringing, making the system tree be something like quick settings might just ruin it. And there are some arguments in that sense. As an example, currently you can already very quickly change the status of Bluetooth and WiFi, these kind of things just by using middle click on most elements. However, at the same time, obviously, that is not very user-intuitive, which is also why Nate has added that information as a tooltip text when you hover those icons. Now, KDE does have something very, very similar, actually exactly equally, like exactly the same as quick settings. And as I've said before, it is not about the desktop, it is about the mobile phone. And Plasma Mobile does have quick settings. If we just look, this one, just look at how pretty they are. So could something like that be implemented in Plasma Desktop as well? Now, the actual question is, could something exactly like that be implemented in Plasma Desktop? Could we take the code from Plasma Mobile and just literally use it in Plasma Desktop instead of Plasma Mobile? From a technical point of view, yes. I mean, why not? We could have an applet that uses these same very elements in Plasma Desktop. It could be an opt-in applet, because as I've said, the VDG is not interested in something like that. However, it does have some flaws. Like it's a cool idea, you could do it. All of these buttons, actually, all of them are their own little package, not as in-packet manager. Like under the hood, they are modular, so they are implemented as little packages, which actually allows for a lot of customization, being able to do your own third-party projects, being able to add them. However, they don't support sliders, which is a bit limiting. Stuff like brightness, the volume, and possibly other things could require a slider, or, more in general, some more complex things that just on and off, but really, it's something. However, here's the plot twist. I am currently planning to port something like this into the system tray, and I want to do it and I want to do it right. First of all, I do not plan to use currently the same implementation as Plasma Mobile, and there's a reason for that. If we do want to have something like this in the system tray, let's look at the system tray. So yeah, in the system tray, we have icons, obviously, and then we have this arrow. This is the general representation of the system tray. This is just the system tray, not any particular applet. So my plan is, if you click on any element, any element, battery, audio, Bluetooth, then you still get the same exact applet as you get now, normally. However, if you click on the arrow like this, instead of this rather boring and useless view, you get quick settings. Now, to do this, we require two things. First, we need to still be able to access all of the applets just using one click as we currently do. As an example, I can still go into battery and brightness just by clicking. We still have to have the option to get inside battery and brightness with just one click. Otherwise, we are actually making it harder for users to get inside their applets that they want to use. So all the applets that currently are available with just one click, still has to be available with one click. So let's make an example. Let's say that Wi-Fi, which currently is here, wasn't here, but it was in this view. Of course, you would have an icon, similarly to this one, to turn on and off Wi-Fi. That's the whole point of a quick setting. However, what we can do is along that button also show another button, which could be an arrow, as an example, and if you click on the arrow, it actually gets you inside the Wi-Fi applet. So you have one button to turn on and off Wi-Fi quickly, and then another button just next street to get inside the Wi-Fi applet if you need to do anything more than that. As an example, you know, connect to a particular Wi-Fi. Similar, same thing goes for the battery brightness. So currently we have it here. We can access it one click. The battery in brightness could expose a slider for the brightness, obviously. And that is really, again, the whole point of a quick setting, showing the slider for the brightness. However, next to the slider, we could have an arrow that actually opens up this applet, right? So you still have the slider, but you still also have the button to get inside the applet if you need. That's the bare minimum. We have to address that. So the first way I could do this is to take these applets, quick settings, and just bring them to the assistant. Those there, there, in the assistant. I could do that. However, there is a big issue. Most of these quick settings, actually all of the quick settings by implementation are not directly linked to a particular applet. As an example, Caffeine, which suspend sleep, is not directly connected to any applet, just like in the actual implementation, Wi-Fi is either. It's, they are actually their own little things, their own little packages that have nothing to do with the Wi-Fi applet that we see normally in the assistant tray. Can I just, oh, that's much simpler, much simpler. Okay. Sorry about that. So what this means is that, yes, I could do that. However, those quick settings would not have a direct link to the applet that you would expect them to bring up. So if you have like this Wi-Fi thingy, you would expect next to it to have another button that opens up the Wi-Fi applet. However, since there is no link between the Wi-Fi little toggle and the Wi-Fi applet, there's no clear way on how I would even implement that, on how I would tell that quick toggle to have next to it a button that opens up the right applet. And some of these little thingies don't even have an applet in the first place to open up. So another approach is to reimplement this. Let's do this again, which is usually not an amazing idea, but it's an idea. I'm brainstorming. I'm not implementing anything right now, but the idea is we implement this again, again, but this time it is the actual applets that contain these quick settings. So the Wi-Fi applet will contain inside of it the little quick settings setting for Wi-Fi and maybe the little quick setting for mobile data and surely the little quick setting for the airplane mode, maybe even more than one as we just seen. So now I do actually have a clear idea of what applet is exposing what quick settings, which means that when I actually go here and see the full view of the system tree, instead of just having the icons for the system tree elements, I can have, yes, this icon, but next to them, also the quick settings that each of these exposes. This means that we maintain the usability of the system settings fully, all of it. We also add the ability to have quick settings, which again, I think is a good idea and something to have in a modern operating system, but at the same time, we retain the powerfulness of the quick settings and its modularity. As an example, any third-party applet could expose their own quick settings and it would just work for any third-party applet. So maybe you're, I don't know, a distro, like say you are Fedora, you want, you're doing a system tree applet. I think Manjaro is doing that actually. Maybe you do want that applet to have a quick setting associated to it and you can do that. This is something that is very limited instead on something like the KD Control Center applet from the third-party. Yes, it works. Yes, it's pretty. It is not customizable. You get that. You get those elements. You can not customize them at all. They're just there. And if you're a third-party who wants to add something to it just by having their own applet, of course you can't do that. So we are KDE. We can't just upstream something that's hard coded. Obviously, we have to make it customizable and make sure that everybody can see that it's super powerful and modular. Same goes with something like this. Even in its own layout, you can see that this is how it looks and this is how it's always going to look like. You can't adaptively show icons depending on what applets you have installed. This is the layout. It's like this. It won't change. You just set this. It's not as powerful as what KDE could achieve thanks to the modularity that KDE has introduced with applets. So will KDE get quick settings? Huh, good question. This is a possible approach, what I've just described. It could work, but to be fully honest, it could also not work. We could see that there is no clear way to do user interface that clearly shows the fact that you have both quick settings and also the applets that are exposing those quick settings. That is not immediately simple to do. You can see that in here, there's something very similar. You have the Wi-Fi and then you have the arrow which actually opens up the Wi-Fi applet. So something like this, this is the general idea. We might discover that it's not that easy if you have, as an example, multiple quick settings for the same applet. Like the Wi-Fi both has Wi-Fi and airplane mode. How do you do that? Not so clear. In this case, the airplane mode doesn't get a narrow at all. Eh, not good. It could also be that all of this is implemented and then we realize that it's bad. The users don't like it. It's not working. It's too complex. It's too visually heavy. Who knows? It's an attempt. And if I get any free time from here to Plasma 6, I will attempt at implementing this before Plasma 6. That is my hope. That is my goal. I think I should be able to do it. I think. But if you do want to help, if you do want something like this, I hope that I've shown that I just don't want to come here and destroy everything that was previously done by KD developers. Like I am seriously trying to build up a serious alternative. I do accept donations. And currently, as far as KD development and maintaining this channel goes, I, well, let's just say that if I was employed, it would not be even minimum wage. So that's not good. So if you want to help me out, actually help me out to reach these goals, then there's link to donate in the description and stuff. Anything will be extremely welcome. So thanks everybody for following and see you tomorrow with another video.