user@argobox:~/journal/2026-01-25-the-taskbar-that-stopped-responding
$ cat entry.md

The Taskbar That Stopped Responding

○ NOT REVIEWED

The Taskbar That Stopped Responding

Date: 2026-01-25 Duration: 30 minutes Issue: Frozen KDE Plasma taskbar Root Cause: Multiple plasmashell processes fighting for control


The Symptom

I clicked the taskbar. Nothing.

Right-click? Nothing.

The clock was frozen at 21:38. The system tray icons stared back at me, unresponsive.

Plasma was alive — windows still worked, Alt+Tab still worked — but the taskbar had checked out.


The Investigation

Quick process check:

ps aux | grep plasmashell
# 11480  plasmashell  (old, stuck)
# 23374  plasmashell  (newer)
# 23761  plasmashell  (newest)

Three plasmashell processes. That’s two too many.

Also noticed:

  • Two baloo_file processes (file indexer)
  • kwin_wayland at 15.7% CPU (higher than normal)
  • Three weather widgets configured in my panel

Weather widgets make network calls. Three of them, checking conditions repeatedly. On a flaky network day, that could freeze a widget, which freezes the panel, which freezes plasmashell.


The Fix Attempt

Tried the graceful approach:

killall plasmashell

The newer processes died. The old one (PID 11480) refused.

kill -9 11480

That worked. Started plasmashell fresh. Taskbar came back to life. Clock started moving again.


The Script Update

I have a reset-plasma.sh script for exactly these situations. But it wasn’t handling hung processes correctly.

Before:

kquitapp6 plasmashell 2>/dev/null || killall plasmashell 2>/dev/null
sleep 1
kstart plasmashell &

The problem: if plasmashell is truly stuck, killall won’t kill it — you need -9. But you don’t want to force-kill every time, because a graceful shutdown is better when it works.

After:

# Try graceful shutdown first
kquitapp6 plasmashell 2>/dev/null || killall plasmashell 2>/dev/null
sleep 2

# Force kill only if still running
if pgrep -x plasmashell > /dev/null; then
    killall -9 plasmashell 2>/dev/null
    sleep 1
fi

kstart plasmashell &

Now the script:

  1. Tries to quit gracefully
  2. Waits 2 seconds (up from 1)
  3. Checks if plasmashell is still running
  4. Force-kills only if necessary
  5. Starts fresh

The Desktop Entry

The script is triggered via KRunner. Type “Reset KDE Plasma” and it runs.

~/.local/share/applications/reset-plasma.desktop

Faster than opening a terminal, running the script manually, and waiting.


Probable Root Causes

Duplicate plasmashell processes — shouldn’t happen, but Plasma sometimes spawns extras during crashes.

Weather widgets with network issues — three widgets making repeated network calls can lock up the panel.

General Plasma instability — it’s a complex desktop environment running on Gentoo with bleeding-edge packages.

I should probably reduce the weather widgets to one. Or none. The terminal tells me everything I need to know anyway.


The Lessons

Multiple plasmashell processes = trouble. Always check pgrep plasmashell when things freeze.

Graceful kills don’t always work. Sometimes you need -9, but try without it first.

Reset scripts need timeout logic. Wait, check, escalate.

Weather widgets are suspects. Anything that makes network calls in the panel can freeze the panel.


Desktop environments are like teenagers — they work fine most of the time, but occasionally they freeze and refuse to respond until you force-restart them.