Fully-featured widget to bring Latte-Dock and WM status bar customization features to the default Plasma panel.
Inspired by the Latte Dock (now unmaintained) theming and boosted by the laziness to learn editing Plasma themes (which can only change background and other small things) created this project that helps you make the Plasma panels look almost however you want.
- Create your own configuration presets
- Restore defaults
- Preset auto-loading
- Floating panel
- Maximized window shown
- Color modes
- Static
- Animated
- Interval
- Fading
- Colors
- Custom
- System
- Custom list
- Random
- Contrast correction
- Style
- Spacing
- Margin rules
- Border radius
- Outline
- Opacity
- Shadow
- Line mode
- Color Modes
- Static
- Interval
- Follow widget background
- Colors
- Custom
- System
- Custom list
- Random
- Contrast correction
- Opacity
- Blacklisted widgets color
- Force icon color to on specific plasmoids that use Kirigami.Icon
- Recolor applications tray icon
- Icons/text shadow
- Opacity
- Color
- Border radius
- Outline
- Constant floating panel side padding
- Shadow
- Remove original panel background
- Widget Blacklist
Install from KDE Store or use Get new widgets..
-
Plasma 5 version v0.2.0No longer maintained
-
Install these dependencies or their equivalents for your distribution
cmake extra-cmake-modules libplasma plasma5support
-
Run
git clone https://github.com/luisbocanegra/plasma-panel-colorizer cd plasma-panel-colorizer ./install.sh
aur/plasma6-applets-panel-colorizer use your preferred AUR helper e.g:
yay -S plasma6-applets-panel-colorizer
For those using NixOS or the Nix package manager, a Nix package is available in nixpkgs-unstable.
To install the widget use one of these methods:
-
NixOS
environment.systemPackages = with pkgs; [ plasma-panel-colorizer ];
-
home.packages = with pkgs; [ plasma-panel-colorizer ];
-
Plasma-manager: If the widget gets added to a panel it will automatically be installed
-
Other distros using Nix package manager
# without flakes: nix-env -iA nixpkgs.plasma-panel-colorizer # with flakes: nix profile install nixpkgs#plasma-panel-colorizer
- Put the widget on any of your panels
- Go to the widget settings to change the current panel appearance (right click > Configure...)
- Widget can set to only show in panel Edit Mode (right click > Hide widget or from the widget settings)
Changes to the panel are not permanent and can be removed by disabling them from Widget Settings > General tab > Enabled checkbox or removing it from the panel and restarting Plasma/logging out.
Since version 0.5.0 partial widget names e.g. weather are no longer allowed. This causes previous rules to stay even after removing the matched widgets.
A button to restore/clear the default rules has been added to the relevant sections.
To fix all saved presets a script is provided:
git clone https://github.com/luisbocanegra/plasma-panel-colorizer
cd plasma-panel-colorizer
./fix-presets-widget-rules.sh
The same script can be used to maintain the same widget rules for all presets
This widget works by inject/managing the background and colors of other widgets and the panel where it is placed, the initial goal was to replicate the famous WM status bar look and some Latte Dock theming options without actually modifying the panel/widgets source code.
Background is drawn by creating rectangle areas bellow widgets/panel, text and icons repaint is done by editing some elements color property and overwriting Kirigami.Theme.<something>Color
colors for others, while this works for most widgets, there are some that won't because they draw text and icons differently to what this project matches, if you find a widget that doesn't get colors let me know here and I will try supporting it.
Some widgets really like to create/destroy/recolor their own widget elements (e.g. Global Menu), to account for this, text and icons color are re-applied every 250ms. I tried to optimize it so CPU usage only increases around 1-2% on my computer, but usage could vary depending on your System or how many widgets are in your panels.
If you like the project you can:
Thank you ❤️
- Search the actual gridLayout of the panel from Plasma panel spacer code that inspired this project.
- Google LLC. / Pictogrammers for the panel icons.
- sanjay-kr-commit/panelTransparencyToggleForPlasma6 / psifidotos/paneltransparencybutton for the true panel transparency