XFCE, KDE Plasma, Cosmic: Panel Comparison

XFCE, KDE Plasma, Cosmic: Panel Comparison

Throughout the years, one of my main efforts has been making sure that KDE Plasma panels are as powerful as can reasonably be. I've implemented  floating panels, but also  adaptive transparency,  margin areas, and lots of other features. However, it's not surprising that other desktops have taken different approaches and it's really useful to give a look at what they're doing and sometimes say: hey, they beat us. It happens. Spoiler alert: Plasma panel, in this video, will be completely destroyed by COSMIC and Xfce.

I really want to make this comparison firstly with COSMIC panels, even though currently COSMIC hasn't been released yet.  However, there's a blogpost by System76 that explains how they're going to work  in super details and some things are genuinely better than what we currently have in Plasma, hands down. You want an example? You can  stack multiple panels on top of each other. Plasma can't do that.

If you're out of the loop on COSMIC, by the way, it means that you don't know about the newsletter. In fact, this video is sponsored  by the TechHut newsletter! I'm actually the primary writer for this newsletter so if you like my content, you're going to like it. We come out with  one weekly covering the latest in linux, open source, and tech news. Just in our last publication we covered all about these new COSMIC panels, but also: thunderbird goodness, and more. You can  subscribe with your email for free or if you're not into that thing you can use the RSS feed or just bookmark TechHut.tv to see all the latest news, but also guides, and articles. Make sure you check out the first link down below and subscribe. It is worth it, and there isn't any conflict of interest in me saying that.

Anyway. The other system I want to compare is XFCE, mostly because  I've tried their panels recently and I've realized that they actually beat Plasma panels in many areas. As an example, as we'll see,  they're able to freely float on your screen, something that Plasma panels can't quite do, can they? We'll get to it.

Position

Let's start off by talking about positioning the panels.  KDE Plasma panels can simply be drag and dropped on any side of the screen (and just like that, they're already more powerful than the Windows 11 panel) and you can also drag and drop them between screens. If the panel does not fill the full width or height of the screen you can also move them around, whilst keeping them attached to the screen border.

On COSMIC, on the other hand, you don't drag and drop things around. You can, however, open up the panel settings - which live inside the system settings -  and you can change the screen side in a combobox there; just underneath that, you have the option to choose which display to show the panel in. And, this is the important part you can choose to display the panel on all displays, meaning that the panel will be in multiple places, at the same time. This is not something that's offered by Plasma panels, and it's actually quite requested as a feature.

Most importantly, when you set multiple panels to have the same screen side of the same monitor,  you'll end up having them stacked one on top of the other, which looks really great and is probably what the user would like to see.  Instead, in the Plasma world, having panels on the same screen side will simply draw one on top of the other, which is just going to look like a glitch. COSMIC wins this one, hands down.

Let's switch to XFCE.  Ok, they have this dialog to quickly customize the panel without having to open up settings; however, as I mentioned on my other video, I've found the dialog to be really messy and hard to understand.  You can switch the panel between horizontal and vertical (kindof) to make it switch screen sides, but the cool stuff begins when you untick the ticked-by-default "Lock panel" option. This will allow you to drag and drop the panel anywhere on the screen. Even if it's not at the screen sides. You can position it anywhere, in any orientation, and move it around as a normal window, instead of having it fixed always in the same place.  Most importantly, you can create multiple panels and place place them on top of each other to replicate the COSMIC setup.

Plasma panels cannot do that. Kind-of. So, this is actually pretty funny.  All of the necessary code to make panels float around is there already, and we do use it for when you drag and drop the panel. However, we don't really allow any customization where the panel isn't on the side. So, yeah, we do not offer that, and yet again, I feel like XFCE easily wins this one.

Size

The thickness of the panels can  be customized in all the systems and it's kinda the same, but what we are interested in in the width, or height, of the panels, and how to change it.

In fact, when it comes down to size, KDE Plasma has it big-- KDE Plasma allows you to  customize not only the size of the panel, but you can set the minimum and the maximum panel size. The panel will then resize to be within those two values depending on the size of the widgets within it, which I think is pretty cool. However, there's a pretty big issue with this approach: I see so many people not understanding how this is done at all, and to be completely honest,  everytime I have to drag and drop the panel size handles I always pick the wrong ones. Always.

So, let's look at COSMIC. You can not set a custom size for the panel, just set the thickness.  However what you do is toggle the option called "expand panel to screen edges"; if it's on, the panel will always fill all available width or height. If it's off, it will just have the same size as the applets within it. This is something you can do in Plasma,  you just have to change the alignment to center, and then drag and drop the correct size handle to be as small as possible whilst keeping the other one still. However COSMIC option covers the usecase of the vast majority of people, and it's so much easier; I've seen Plasma people without a clue that this way of doing things was even possible. Again, I think COSMIC approach is straight up better compared to ours.

So, hear me out, I've decided to change our approach to.  I will hide the weird ruler by default, and simply have an option called, like, "panel type", with three options: "full width", which is going to maximize the panel, "dock" which is just going to fit the size of the applets inside of it, and "custom" which will make the rulers appear. This way it's still super powerful for eveyrone, but it's much simpler to handle by default. By the way, all of my development work is NOT paid by KDE, but it's actually turns off light only thanks to all of these amazing people around me that sponsor my work; so if you really want to se the Plasma panels improve and you haven't yet, feel free to throw some spare change at my Paypal, or Patreon, or Liberapay, or Ko-fi.

Do you want to hear another sizing issue where COSMIC straight up beats Plasma? Ok, so, let's say that you have a  vertically maximized panel on the left screen side and a horizontally maximized one on the on the top of the screen. Question: what's going to happen in the top left part of the screen?

In KDE Plasma, the panels simply overlap, and you'll only see the last one you clicked, which feels like a glitch and it is, really. On the other hand,  a lot of thought was put into this during the design stage at COSMIC and there's actually two rules for corner priority: the panel will always take priority on the dock, unless it's floating, as the non-floating panel always has priority on the floating one. But at least they won't overlay. Another point for COSMIC.

Let's switch to XFCE. Sizes. Finally, Plasma holds up here, since you simply have a  slider that customizes the width or height of the panel. They however do have a setting called "automatically increase the length" which addresses the issue of fitting the size of applets, but if you really want to go with this approach, I do actually prefer the idea of having a minimum size and a maximum size, not some not-so-clear-to-understand checkbox.

Note, however, that you do have  rows on XFCE panels, which is something that I initially wanted to implement in Plasma panels too but then we decided not to. It's an interesting feature, that basically allows for what COSMIC is doing with double panels, but just using one. For this reason I'm still going to give XFCE a full point here.

Eyecandy

So, let's talk eyecandy, and let's start off immediately with opacity. Everyone loves a good transparent panel, right? Not quite.  In KDE Plasma, the user can change the opacity of the panel; either by changing the plasma theme, or by switching between the "opaque" and "transparent" options. However, that's kind of it: if you're using, as an example, a third party theme that does not support adaptive transparency and you do not want to edit theme files, you just cannot change the opacity. This is actually for technical reasons, by the way.

On the other hand, COSMIC gives you a full slider that goes from completely opaque to, uh, transparent, and you can fine-tune it to your liking. This would be another easy win for this desktop, but thankfully, Plasma has a very neat feature that COSMIC hasn't: adaptive opacity.  KDE Plasma panels can change their transparency depending on whether a window is touching them or not. Personally, I believe this setting is actually extremely important, as I do want my panel to be transparent if I have some floating windows, since the panel will blend in with the background nicely; but if I have a maximized window instead, there's no "background" to blend with, so it doesn't really make sense in my opinion to be transparent in the first place.

The same exact thing applies to floatingness. Both KDE Plasma panels and COSMIC panels support floating panels, they call them "having gaps between panel and scree border", fair enough.  However, Plasma panels are adaptively floating, meaning that - again - they will de-float whenever a window touches them. So, I think that in terms of eyecandy Plasma is at least competitive, especially if you consider that you can completely customize the colors and look of the panels.

It's a very similar story with XFCE. Let's start with opacity. Yet again, they have a very nice feature that's simply impossible to understand without reading the documentation.  Basically, you can set different opacities for "Leave" and for "Enter". Now, I will give you five whole seconds to think and try to guess what these two different values do. Go on, editor, insert five seconds of silence here.

Ok, here's the solution:  "Enter" is the panel opacity when you're hovering the panel with the mouse, whereas "Leave" is the opacity when you're not hovering teh panel with the mouse. Now, come on, how many of you actually guessed correctly. Come on, it makes no sense. Regardless of the name, though, it's a super super neat feature that I'm now envious of. Again, I wouldn't call this a full win for XFCE because I also really like adaptive transparency, but still, it holds up real good. XFCE also has hints  of customizing the look of the panel too, you can choose any background color and you can even use a background image. Nothing you can't do with Plasma themes, but it's nicely exposed ...  for once. (To be honest, the option being called  "Style: none" feels like a self-burn if anything, but whatever).

As far as floating panels go for XFCE, well,  you can manually make them floating using the feature I've showcased earlier, though you still have nothing like adaptive floatingness. Still pretty cool, if you ask me.

Applets

I haven't talked much about applets or items, that is,  the little components you can add to the panels and move around; this is mostly because all three desktops support them, and I haven't seen significant differences.

However, I want to highlight one last thing that I'm not completely sure about. KDE Plasma Panels have a bit of an issue: all applets, even third party ones, live in the same process as Plasma. This means that if any third party plasmoid crashes, the entire Plasma is going down. Personally, I don't see this as much of an issue since it's extremely rare for an applet to actually crash, but it's something to keep in mind if you're trying out third party applets.

On the other hand, according to the System76 blogpost,  we have that COSMIC applets do live in different processes, meaning that you'll have one process for each applet. I'm not sure if this is only for third party ones or if it's one for each applet; this might possibly have an impact, to a certain extent, on performance; but it's probably negligible, and it does come with added stability for the shell itself. So, yes, this is another free point for COSMIC.

Conclusion

To wrap this up, yes, I haven't really talked much about  some nice things that Plasma panels do; however, I did talk about all the most important things that people will reasonably look for in panels. And, even though I haven't kept count of the points - maybe the editor did - it's pretty easy to see that Plasma hasn't really clearly won any comparison with either XFCE nor COSMIC. I still think that Plasma panels are extremely powerful and really good to use, but I cannot deny either that both the COSMIC and XFCE projects have done great things and we do have a lot to learn from them.

And, again, if you'd like me to improve the Plasma panels given what I've seen other desktops do, I'd really appreciate if you threw a donation at me. I'll do my best.t