plasma6-panel-config

randalmurphal's avatarfrom randalmurphal

Configure KDE Plasma 6 panels, widgets, digital clock fonts, and Panel Colorizer styling. Use when modifying panel appearance, copying panel configs between monitors, fixing widget fonts, or troubleshooting Panel Colorizer not applying styles.

0stars🔀0forks📁View on GitHub🕐Updated Jan 10, 2026

When & Why to Use This Skill

This Claude skill provides a comprehensive guide and automation workflow for configuring KDE Plasma 6 panels, widgets, and styling. It simplifies the complex process of modifying system configuration files, managing digital clock fonts, and troubleshooting Panel Colorizer issues, ensuring that changes are applied correctly and persist through system restarts.

Use Cases

  • Case 1: Customizing KDE Plasma 6 panel aesthetics, including precise control over digital clock font families, sizes, and weights.
  • Case 2: Synchronizing and copying panel configurations across multiple monitors to maintain a consistent desktop layout in Linux environments.
  • Case 3: Troubleshooting and fixing issues where Panel Colorizer styles or widget font settings are silently ignored or overwritten by the system.
  • Case 4: Automating the 'kill-edit-restart' workflow for plasmashell to safely modify the plasma-org.kde.plasma.desktop-appletsrc configuration file.
nameplasma6-panel-config
descriptionConfigure KDE Plasma 6 panels, widgets, digital clock fonts, and Panel Colorizer styling. Use when modifying panel appearance, copying panel configs between monitors, fixing widget fonts, or troubleshooting Panel Colorizer not applying styles.

Plasma 6 Panel Configuration

Purpose: Modify Plasma panel/widget configs without trial-and-error pain. When to use: Panel styling, clock fonts, colorizer issues, multi-monitor panel sync.


Critical: Edit Workflow

Plasmashell overwrites config on exit. Always:

pkill plasmashell
# make edits to config file
nohup plasmashell &>/dev/null &

Config File

Location: ~/.config/plasma-org.kde.plasma.desktop-appletsrc

Format: INI-style with nested sections. File is ~66K tokens - use grep/offset reads.

Structure:

[Containments][PANEL_ID]
lastScreen=SCREEN_NUMBER
plugin=org.kde.panel

[Containments][PANEL_ID][Applets][WIDGET_ID]
plugin=org.kde.plasma.digitalclock

[Containments][PANEL_ID][Applets][WIDGET_ID][Configuration][Appearance]
# widget-specific settings here

Finding Things

Find Grep Pattern
All panels plugin=org.kde.panel
Digital clocks plugin=org.kde.plasma.digitalclock
Panel Colorizer plugin=luisbocanegra.panel.colorizer
Screen mapping lastScreen=
Appearance sections \[Configuration\]\[Appearance\]

Digital Clock Font Settings

Under [Containments][PANEL][Applets][CLOCK][Configuration][Appearance]:

Setting Required Value Notes
autoFontAndSize false CRITICAL - must be false or font settings ignored
fontFamily e.g. Hack Nerd Font Font name exactly as system knows it
fontSize e.g. 9 Integer
boldText true or false
fontStyleName e.g. Bold
fontWeight e.g. 700 400=normal, 700=bold

BAD: Adding font settings without autoFontAndSize=false

fontFamily=Hack Nerd Font
fontSize=9

Result: Settings silently ignored, uses system default.

GOOD: Include the disable flag

autoFontAndSize=false
fontFamily=Hack Nerd Font
fontSize=9
fontStyleName=Bold
fontWeight=700
boldText=true

Panel Colorizer

Preset Location

~/.local/share/plasma/plasmoids/luisbocanegra.panel.colorizer/contents/ui/presets/

Config Location

Under [Containments][PANEL][Applets][COLORIZER][Configuration][General]:

globalSettings={"panel":{"normal":{"enabled":true,...huge JSON...}}}
lastPreset=/path/to/preset

The JSON Blob

globalSettings is a single-line JSON blob (thousands of chars). Key paths:

JSON Path Purpose Required for Styling
panel.normal.enabled Master enable Must be true
panel.normal.backgroundColor.enabled Enable bg color Yes for custom bg
panel.normal.backgroundColor.custom Hex color e.g. #000000
panel.normal.backgroundColor.sourceType Color source 0 = use custom
widgets.normal.foregroundColor.enabled Enable text color Yes for custom text
widgets.normal.foregroundColor.custom Hex color e.g. #FFFFFF

BAD: Panel colorizer not styling

"panel":{"normal":{"enabled":false,...

Result: All styling silently disabled.

GOOD: Enable the panel styling

"panel":{"normal":{"enabled":true,...

Copying Colorizer Between Panels

  1. Find source panel's colorizer widget ID
  2. Copy entire globalSettings= line to target
  3. Copy lastPreset= line if using presets

Randy's Current Panel Mapping

Panel ID Screen Monitor Clock Widget Colorizer Widget
209 2 HP 309 323
273 0 LG 276 321
291 1 ASUS 326 345

Note: Widget IDs are arbitrary. Always grep for plugin names to find current IDs.


Common Gotchas

Issue Cause Fix
Edits not persisting Plasmashell overwrote on restart Kill plasmashell BEFORE editing
Font settings ignored Missing autoFontAndSize=false Add the flag
Colorizer does nothing panel.normal.enabled: false in JSON Set to true
Wrong panel modified Screen numbers changed Verify lastScreen values
Can't find widget Grepping wrong plugin name Use exact plugin string

Quick Copy-Paste Templates

Clock with Hack Nerd Font

[Containments][PANEL_ID][Applets][CLOCK_ID][Configuration][Appearance]
autoFontAndSize=false
boldText=true
customDateFormat=ddd, MMM d |
dateDisplayFormat=BesideTime
dateFormat=custom
fontFamily=Hack Nerd Font
fontSize=9
fontStyleName=Bold
fontWeight=700
showLocalTimezone=true
showSeconds=2
use24hFormat=2