 It's always kind of fun that they say it's a desktop environment, which is something that it makes me like feel a little bit uneasy inside. It's definitely okay. So this is going to be a long, exciting video. So whenever I hear somebody saying Kiri is a desktop environment, I am always that annoying guy that replies, actually it's Kiri Plasma because Kiri is a community of people doing cool stuff, not just a desktop environment. And I think it's important to point that out. What I did not expect is to see a main Plasma developer saying that they are not fully comfortable with saying that, yes, Kiri Plasma is a desktop environment. And the reasoning actually allowed me to see just how much power Plasma has behind the scenes. So let's start with an example. Look at Kiri Plasma because you do use Kiri Plasma, right? Right? Though it would be probably better to temporarily call it Kiri Plasma desktop, as we also have other Kiri Plasma products meant for other form factors. You will see a wallpaper, maybe folders and widgets on top of that wallpaper and a panel on the bottom side, widgets inside the panel and so on. You might think that how all these things work is quite an inflammation detail, but it isn't. Now take Plasma Mobile. It's a completely different product meant for different use cases, but you do have some similarities. Well, you have a panel on the top with widgets inside of it. If you open quick settings, you have notifications, the same notifications that you might see on desktop as well. If you change the volume, you see the volume thingy. Yes, that is its official name. And it's the same one as the desktop one. What happened at the very early start of Plasma, if I understood this correctly, I wasn't there, was the idea that Plasma had to be flexible to adapt to different form factors and devices. Even before Plasma Mobile, there was a project called Plasma Active with a very similar goal. So everything in Plasma was third, not as a desktop environment, but as a way of doing shots for different devices. Or as Alish Paul said it during his above mentioned Academy talk, Plasma is a UX for a number of devices designed by us. OK, OK, cool words. But what do they mean in practice? Well, I told you to give a look to Kitty Plasma desktop. So let's actually break it down in its components. So we have the wallpaper, which is modular. There are various wallpaper services that you can switch between. Different shells can handle wallpapers in a different way with different defaults. As an example, a Plasma shell meant for e-ink devices, which, by the way, is in my to do before mid-July list, probably wants to have an always white wallpaper, which is provided by the org.kde.color plugin. OK, so what else on the desktop? Well, there is the actual desktop with, as an example, files and folders. But if we had a different device like a mobile phone, we would probably want to have a different kind of desktop with something that looks like a phone home screen, right? So this component is modular, too, and it's called containment. And you can switch between containment. Kitty Plasma desktop offers two out of the box, one without anything and one with folder view. Kitty Plasma Mobile also offers a couple that both act like different home screens, but ideally third parties could do custom components similarly to the custom Android home screens. You might not only have files on your desktop, but also widgets. You might notice that even if you change your containment, your widgets are left untouched. This is because there is something underneath the containment that manages them. This component is called view, and it's part of the shell that you are using. We could simplify its job in one, take the containment and allow the component to draw on the entire view. Two, draw the widgets on top of the containment and three offer a way to customize the widgets and the wallpaper, regardless of the containment you are currently using. So if you see that Plasma desktop and Plasma mobile have different interfaces to customize widgets, it's because they are different shells. But if you do notice that they are actually pretty similar, well, we'll get to that. One thing that you have to notice, it's the same in Plasma mobile and Plasma desktop is the toolbox that appears when you long press the containment. That is called a toolbox and it's its own modular component. Shells will kindly ask to use a certain toolbox and you can use different toolboxes depending on what you're doing. Finally, what I could get into right now, but I want is the panel. It has the same idea as the desktop. You have a view offered by the shell, which then draws a containment on top of it. I think you could also have different kind of panels, but I haven't looked into it that much. After all of this, you might say, OK, but why? All of this work just to have more consistency between mobile and desktop. Absolutely not. OK, sit down because you are in for a ride. Katie has also big screen, which is Katie Plasma, but meant for TVs. So how does that work? Well, it's firstly a custom containment. So there is a shell that loads the big screen containment which draws the home screen you see. The style is completely consistent because it uses Plasma styles, which can be used throughout devices and for factors, not just Plasma desktop. Big screen also has a top panel, which at some point in time, I don't know how things work right now, was actually offered by Mycropped, the A.I. Voice Assistant thingy. And it included a Mycropped widget to do voice stuff. Katie also has nano and finally, finally, after like two years of my YouTube channel, I can explain to you finally what Plasma Nano is. OK, so let's say that you want to create a new shell for a new type of device like TVs or e-ink devices. Why on earth would you start everything from scratch? Right? What shells can do? And I think not just shells is set a fallback. So all components not specified in my shell will be loaded from another one. And there's often a bunch of things that are extremely similar throughout shells like managing widgets or displaying a wallpaper or having a desktop view that loads a containment. So we have Plasma Nano, which is a minimal shell, which does things that you most likely always want in any shell anyway. But just that, it also implements a simple toolbox because sometimes you do need that one as well. So basically Plasma big screen can, as an example, just do a custom containment and then use Plasma Nano shell and tell Plasma Nano, please use my containment or take another example entirely. Say in an absolutely hypothetical scenario that I was a KD developer who was sent a pie note, which you can see there an e-ink device to work on, making sure that KD works nicely on it. That would never happen. But imagine what I probably would be supposed to do after trying out Plasma Desktop and Plasma Mobile on it is to consider making a shell specifically meant for e-ink devices. It's an option. And how I would approach that is to make a containment which highlights the most useful apps in an e-ink device in an e-ink friendly way. So only black and white, no scrolling and so on. And then use Nano as a base or hear me out. Here's an even crazier example. Say that somebody came to me and paid me to bring Plasma to smart mirrors. That would never happen. But imagine how I would do that, given that smart mirrors, as an example, have to use black as the background color and have to have like big, easy to use buttons on a home screen is to do a custom shell that uses Plasma Nano but has a custom containment to display the buttons. But I use a custom Plasma style theme to make sure it looks appropriate for a smart mirror. And then I use the org.kd.color plugin for the wallpaper with black as the default color and no way to change it. I think you can kind of see my excitement here. But hey, Plasma is so cool. And the coolest part is that it's not over. I haven't talked about styles much and neither I have talked about widgets themselves. Both of these allow Plasma to be even more modular and such, given that I can just use the same Wi-Fi widget everywhere, just changing the Plasma style instead of copy pasting the code or even forking it. However, there is a final yet pretty big component that allows everything to work. And in true YouTuber fashion, I will leave you hanging for a minute because this video is not sponsored by anyone, not Kitty, but it took time, like a lot of time and money to make. And I'm trying my best really to be able to sustain this channel. I have a monthly goal of 700 bucks and it's an hard to reach goal. I really need help to reach it in time. The amount I currently have for April all comes for Patreons, which, by the way, support me every month. So thanks, everybody. They do get some benefits like a private podcast about Linux news, some articles about my kitty involvement and polls to decide the content and so on. Again, I'm trying to do my best to do good content and to help out kitty, too. But I also need a bit of help. So anyway, what's the last piece of the puzzle? Look and feel themes. They're much more powerful than you might think. An example, they are able to change containments. So hear me out. OK, if I understood this correctly and that's a big gift, somebody could do a custom containment for Kitty Plasman desktop, which, I don't know, actually has some sort of tablet like home screen. And after installing it, you could have to look and feel themes and switching between the themes would also switch the containment between, I don't know, folders and a new home screen. But also look and feel themes can ask for a specific show, a show, which has like the views inside of them. That can change everything, like everything. I'm not sure if that's going to work if you just change the look and feel theme from like system settings, but maybe details, but they can also change layouts, where widgets are placed in the desktop and panels and how many panels you have and where. And of course, they can change everything else as well, like the plasma style, the application style, K-Win settings, just everything. They can even implement a custom OSD, which is the dialogue that appears when you change the volume or brightness. Yes, I lied. It's not called the volume thingy. It's actually called OSD, though. Of course, if you're doing your own look and feel theme, you can also set a fallback so you don't have to implement all of these things. You can just say, hey, do like that, but only change this tiny, whiny little thing as well. That works. Now, to close this video, I do want to highlight the fact that all of this is, in practice, much, much more complex than it appears. And I do not fully understand it. Just yesterday, I sent a private message to a Lash saying, hey, how do you use Plasma Nano? Like, what's the point? Now I think I kind of get it. However, I might have said some incorrect things. If so, please refer to your local Kitty Plasma expert for more correct info. I don't know. But yeah, to the best of my knowledge, what Plasma does is completely unique. And it's much, much, much, much, much more than just being a desktop environment.