Agent skill
plasma6-panel-config
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.
Install this agent skill to your Project
npx add-skill https://github.com/randalmurphal/claude-config/tree/main/skills/plasma6-panel-config
SKILL.md
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
- Find source panel's colorizer widget ID
- Copy entire
globalSettings=line to target - 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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-prompting
Write effective prompts for Task tool sub-agents, slash commands, and system prompts. Covers Claude 4.x prompting patterns, context engineering, output format specification, and parallel delegation. Use when spawning sub-agents, creating slash commands, or writing system prompts.
test-driven-development
Use when implementing any feature, bug fix, or behavior change - before writing implementation code. Enforces strict RED-GREEN-REFACTOR cycle where tests are written and seen failing before any production code exists.
spec-formats
Templates for brainstorm artifacts and manifest.json. Load when using /spec.
review-initiative
Use after /breakdown-work or manual initiative creation, before running tasks. Use when initiative has 5+ tasks, multiple dependencies, or references a design document.
MCP Integration
Set up and use MCP (Model Context Protocol) servers to extend Claude Code capabilities including PRISM semantic memory, filesystem access, and database integration. Use when setting up MCP servers, debugging MCP connections, or understanding MCP tool usage.
systematic-debugging
Use when debugging any failure, bug, or unexpected behavior - especially before attempting any fix. Enforces root cause investigation before implementation to prevent fix-thrashing and symptom-masking.
Didn't find tool you were looking for?