plasma-panel-colorizer
plasma-panel-colorizer copied to clipboard
Latte-Dock and WM status bar customization features for the default KDE Plasma panel
Panel Colorizer
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.
Demo
Settings
Features
Presets
- Create your own configuration presets
- Restore defaults
- Preset auto-loading
- Floating panel
- Maximized window shown
Widget Background
- 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
Icons and text
- 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
Panel background
- Opacity
- Color
- Border radius
- Outline
- Constant floating panel side padding
[!WARNING] Changing panel settings (position, alignment, width etc.) with this option enabled may cause some jankiness (including visual overflow or widget position freezes). Restarting Plasma or logging out may fix those, if not, disable it and logout to restore the original behavior.
- Shadow
- Remove original panel background
Other
- Widget Blacklist
Installing
Install from KDE Store or use Get new widgets..
-
~~Plasma 5 version v0.2.0~~ No longer maintained
Manually
-
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
Arch Linux
aur/plasma6-applets-panel-colorizer use your preferred AUR helper e.g:
yay -S plasma6-applets-panel-colorizer
How to use
- 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)
Restore the original panel appearance
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.
Fix Blacklist/Margin/Force recolor not working after updating to version 0.5.0
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
How it works / hacking
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.
Technical
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.
Performance
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.
Support the development
If you like the project you can:
Thank you ❤️
Acknowledgements
- 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