Panel Colorizer: the Latte-Dock look for the default Plasma panel, with a C++ caveat
Latte-Dock and WM status bar customization for the KDE Plasma panels
At a glance
- What is it?
- Panel Colorizer is a QML plasmoid that brings Latte-Dock and window manager status bar customisation to the standard KDE Plasma panels, covering colors, shapes, backgrounds, presets and per window state changes. The optional C++ plugin that adds background blur and system tray replacement is also the part that can break after a Plasma update, and the project says so plainly.
- Who is it for?
- Panel Colorizer fits a Plasma 6 user who wants the default panel to react to window state, the way Latte-Dock or a window manager status bar does, without replacing the panel, and who wants that behaviour expressed as presets rather than ad hoc configuration. It does not fit a Plasma 5 user, a user of another desktop environment, or anyone who wants the blur and system tray replacement features without being prepared to rebuild a native plugin after every Plasma update.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 33 days ago.
- What is it written in?
- Mainly QML, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What it does to the panel that Plasma already has
Panel Colorizer is described as a fully featured widget to bring Latte-Dock and window manager status bar customization features to the default Plasma panels. That framing matters, because the usual ways to get this look involve replacing the panel.
Latte-Dock is a separate panel implementation for KDE Plasma, and a window manager status bar is the kind of coloured bar some desktops draw at the edge of the screen. Both of those change what the panel is. Panel Colorizer keeps Plasma's panel and changes how it looks and when.
The repository is a plasmoid, the KDE term for a panel widget, written in QML. The top level of the tree shows the structure: a package/ directory holding the plasmoid itself, a plugin/ directory for the native part, a CMakeLists.txt for the build, a screenshots/ directory, and a set of install scripts.
The distribution story is unusually broad for a desktop widget. There is a KDE Store entry at store.kde.org/p/2130967, an Arch User Repository package named plasma6-applets-panel-colorizer, Open Build Service builds for Fedora 43, Fedora Rawhide, openSUSE Tumbleweed and openSUSE Slowroll, and a nixpkgs unstable entry tracked through Repology. That is a lot of packaging for a panel appearance tool, and it says the author wanted this reachable without asking anyone to compile anything.
The author also runs a Discord and a Matrix room for support, with the note that the two are not bridged, and lists sponsorship through GitHub Sponsors, Ko-fi, Buy Me a Coffee, PayPal and Patreon.
Presets, and the rules that decide which one applies
The preset system is the part of this widget that is genuinely more than a theme picker.
There are built-in presets, a link to the presets directory in the package contents, the ability to create your own, and preset auto-loading. The auto-loading rules are the interesting part, because they are a small decision engine over window state, and they are listed in the README in priority order.
A preset can be applied when there is a fullscreen window, when there is a maximized window, when there is an active window, when a window is touching the panel, when at least one window is shown on screen, when the panel is floating, during activities, and there is a normal case which is the fall-back when none of the above are met.
That list is the actual feature. A status bar that changes colour when a fullscreen video starts, so the video is not overlapped by a bright bar, and changes again when you maximise a window, is behaviour rather than appearance. The rules are evaluated and the first matching condition wins, with normal as the last resort.
The README also points at advanced commandline usage with D-Bus, for version 2.00 or later, which means the current state of a preset can be driven from outside the widget rather than only through its settings panel.
The presets live in the package contents under ui/presets, and the repository root carries a gen-preset-previews-doc.sh script, which is a hint that the preset set is maintained partly through generated preview material rather than hand written documentation.
Color modes, shape controls and the backgrounds that need a native plugin
The feature list is organised in three groups, and the third group is where the caveats are.
The color modes are: custom color, system theme, a color list, random, a gradient, and follow parent background. That last one is the one that makes the widget behave like a status bar rather than a static theme, because the panel takes its colour from whatever is behind it, which is how a window manager bar usually looks when an application paints its own title bar.
Behind the colors come static and animated background images, and a shape group with spacing between widgets, radius, margins, border and shadow. Those are the ordinary panel shape controls that a Plasma panel already offers, exposed through one widget.
Then the two entries that are explicitly marked as requiring the C++ plugin: blur behind custom background, and replacing application system tray icons. The first makes the panel translucent over a wallpaper or over a fullscreen video, which is the visual signature of Latte-Dock, and the second lets the panel carry the tray icons itself rather than the system tray applet doing it.
Both of those are the reasons the C++ part exists. QML can draw widgets and set colors, but it cannot blur what is behind the panel or take over the system tray, because those need to talk to the compositor and to the system tray service, which is native work.
So the value proposition splits cleanly. Everything in the first two groups is pure QML and works from the store package. The two visually distinctive features need the native plugin, and the native plugin is exactly the fragile part.
The C++ plugin breaks after updates, and the project says so
There is a caution block in the README that is unusual to see and worth reading in full.
The C++ plugin may stop working or cause Plasma to crash after a system update, and it will need to be rebuilt. The project links the issue where this is tracked, and points to the build from source section for the C++ plugin. To temporarily recover from the crashes, you can manually remove the plugin, and the README gives the exact command.
sudo rm -rf /usr/lib/qt6/qml/org/kde/plasma/panelcolorizer/ /usr/lib64/qt6/qml/org/kde/plasma/panelcolorizer/ $HOME/.local/lib/qml/org/kde/plasma/panelcolorizer/ $HOME/.local/lib64/qml/org/kde/plasma/panelcolorizer/Read that command carefully, because it also tells you how the plugin is packaged. It is a QML module installed into the Qt 6 QML import path, under org/kde/plasma/panelcolorizer, and it is installed in four possible locations: the system Qt 6 path, the lib64 variant, and the same two under your home directory for a per user install. The removal command sweeps all four, which is what you need to do when a stale copy in one of them keeps loading.
The cause is straightforward and not the author's fault. A native plugin is compiled against a specific Qt and Plasma version, and a distribution upgrade changes those. The repository root makes the build explicit, with a CMakeLists.txt, a plugin/ directory, and a .clang-format file for the C++ sources. There are separate scripts, install-plugin.sh and install-plugin-immutable.sh, next to install.sh and install-immutable.sh for the plasmoid itself, so the native part is a distinct build and install step rather than something bundled in the store package.
The honest summary is that the QML half is a normal plasmoid you install and forget, and the native half is something you rebuild after a system upgrade. That is a real cost, and the project is upfront about it rather than shipping something that breaks silently.
Reporting bugs, in the order the project asks for
The important note at the top of the README is about process rather than features, and it is unusually specific.
Always log out and back in, or restart the plasmashell user unit, after a Panel Colorizer or Plasma update to ensure things work correctly. Please do not report bugs without doing that.
That instruction is not pedantry. A plasmoid is loaded into the running shell process at session start, so a new version of the widget, or a new Plasma, does not take effect in a shell that is already running. The natural reaction to a broken widget is to file a bug, and the natural cause of a bug is a stale process. The project is asking you to rule that out first, which saves the maintainer a round trip.
The bug reporting path is also ordered. Found a bug while using Panel Colorizer? Report it in this repository's tracker first, and only report it to KDE after the project concludes it is an upstream issue, or after you removed the widget and can still reproduce the problem. The second condition is the one that tells you the report is about Plasma rather than about this widget.
There is a second requirement in the same note: make sure you are using the latest version of the widget and, as close as possible, the latest Plasma, to avoid compatibility issues. Combined with the caution about the native plugin, the picture is consistent. Plasma 6 is a moving target, and a widget that reaches into compositor level features is going to feel that movement.
Where a Plasma panel widget is the wrong answer
Two clear cases.
The first is if you do not run KDE Plasma 6. The topics list the scope precisely: kde, kde-plasma, plasma, plasma6, plasmoid, panel, latte-dock, tray-icons, widget, theme, colors, linux-desktop. The package name on the AUR is plasma6-applets-panel-colorizer, and the README asks you to be as close as possible to the latest Plasma. This is a Plasma 6 widget. If you want a coloured status bar on GNOME, XFCE or a tiling window manager, those environments have their own mechanisms, and the idea of a Plasma panel does not transfer.
The second is if the reason you want a coloured panel is to hide something. The window state rules are for aesthetics and for not covering content, and the system tray replacement feature is about where icons live rather than about surveillance. Anyone planning to use a per window colour rule to obscure something on screen should know that the feature is visible, that it changes with window state in ways others can observe, and that the project ships a Discord and a Matrix room where the behaviour is discussed publicly.
A third, milder case is if you only want a static themed panel. Plasma already has panel background, transparency and colour settings, and the preset engine, the shape controls and the D-Bus interface are a lot of machinery for a fixed look. The value of this widget is in the reaction to window state, and that is where the D-Bus and preset features earn their keep.
One more constraint is worth stating plainly because it appears in the README as a warning rather than a feature. The widget and its plugin run inside the user's own Plasma session, and the plugin is a native module in the QML import path. That is not a sandbox boundary you would design into a shared or multi user machine.
Editorial conclusion
Panel Colorizer fits a Plasma 6 user who wants the default panel to react to window state, the way Latte-Dock or a window manager status bar does, without replacing the panel, and who wants that behaviour expressed as presets rather than ad hoc configuration. It does not fit a Plasma 5 user, a user of another desktop environment, or anyone who wants the blur and system tray replacement features without being prepared to rebuild a native plugin after every Plasma update. Check three things before you install it. Check whether the features you actually want need the C++ plugin, because background blur and replacing application system tray icons are both marked as requiring it, and the plugin is the part that the project warns can stop working after a system update. Check your Plasma version, since the package is published as plasma6-applets-panel-colorizer and the project asks you to be as close as possible to the latest Plasma to avoid compatibility problems. And check the log out and back in step, because the widget and Plasma load at session start, and the project explicitly asks that you not file a bug report before doing that. The last push was on 2026-09-20, the newest release is v8.0.0 from 2026-08-11, and the license is GPL-3.0.
Frequently asked questions
What does the Panel Colorizer widget do for KDE Plasma?
It brings Latte-Dock and window manager status bar customization to the default Plasma panels, with color modes, static and animated backgrounds, shape controls, presets that load based on window state, and optional native features for background blur and system tray icon replacement.
Which Panel Colorizer features need the C++ plugin?
Blur behind a custom background and replacing application system tray icons are both marked as requiring the C++ plugin. The plugin can stop working or cause Plasma to crash after a system update and then has to be rebuilt.
How does preset auto-loading decide which preset to use?
The rules are evaluated in a listed order: fullscreen window, maximized window, active window, a window touching the panel, at least one window shown on screen, the panel floating, activities, and a normal preset as the fall-back when none of the others apply.
Where can I install Panel Colorizer from?
There is a KDE Store entry at store.kde.org/p/2130967, an Arch User Repository package named plasma6-applets-panel-colorizer, Open Build Service builds for Fedora 43, Fedora Rawhide, openSUSE Tumbleweed and openSUSE Slowroll, and a nixpkgs entry tracked through Repology.
What should I do before reporting a Panel Colorizer bug?
Log out and back in, or restart the plasmashell user unit, after a widget or Plasma update, and use the latest version of the widget with the latest Plasma. The project asks that bugs be reported in its own tracker first, and only reported to KDE once it is concluded to be an upstream issue or the widget has been removed and the problem still reproduces.
What license is Panel Colorizer released under?
GPL-3.0, with a LICENSE file at the root of the repository. The newest listed release is v8.0.0 from 2026-08-11, and the last push was on 2026-09-20.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/luisbocanegra-plasma-panel-colorizer)Was this useful?