[DO NOT MERGE] Switch default Plasma theme to breeze-dark to stop colors-file polling#59
Open
zhovner wants to merge 1 commit into
Open
[DO NOT MERGE] Switch default Plasma theme to breeze-dark to stop colors-file polling#59zhovner wants to merge 1 commit into
zhovner wants to merge 1 commit into
Conversation
The shipped "default" Plasma desktop theme is broken — its /usr/share/plasma/desktoptheme/default/ directory does not contain a colors file, but plasmashell polls for it ~700 times per second with no negative caching. The constant statx + faccessat loop pins idle plasmashell at ~12% CPU continuously, slows menu opens to multiple seconds, and accumulates into visible UI glitches. breeze-dark ships its own colors file, so the path resolves on the first probe and the polling loop disappears. Idle plasmashell drops from ~12% to near zero. Bundled in the same commit: * /etc/xdg/plasmarc + /etc/xdg/kdeglobals set the breeze-dark Plasma theme, BreezeDark color scheme, breeze-dark icons, and Breeze widget style as system defaults. User-level overrides in ~/.config/* still win via the normal XDG lookup chain. * KWin systemd drop-in cleaned up to keep only Environment=KWIN_COMPOSE=O2. KWIN_FORCE_SW_CURSOR=1 dropped (hardware cursor works on HDMI and saves per-frame CPU; KWIN_COMPOSE=O2ES replaced with O2. * FlipperOne wallpaper shipped as /usr/share/wallpapers/FlipperOne/ and wired up as the default for both the lock screen (via kscreenlockerrc) and the desktop session (seeded into /home/user/.config/ via a new run action in the ospack recipe).
alchark
reviewed
May 16, 2026
Collaborator
alchark
left a comment
There was a problem hiding this comment.
Going forward, let us please split changes so that one commit contains one logical change. Makes it easier to track breakages, revert things if needed, etc.
I'd like us to also use "Draft" state of PRs instead of [DO NOT MERGE] in titles - makes notifications more meaningful
Comment on lines
+168
to
+177
| mkdir -p /home/user/.config | ||
| cat > /home/user/.config/plasma-org.kde.plasma.desktop-appletsrc <<'EOF' | ||
| [Containments][1] | ||
| wallpaperplugin=org.kde.image | ||
|
|
||
| [Containments][1][Wallpaper][org.kde.image][General] | ||
| Image=file:///usr/share/wallpapers/FlipperOne/contents/images/wallpaper.jpg | ||
| PreviewImage=file:///usr/share/wallpapers/FlipperOne/contents/images/wallpaper.jpg | ||
| EOF | ||
| chown -R user:user /home/user/.config |
Collaborator
There was a problem hiding this comment.
Can these manual steps be replaced by an overlay file under /etc/xdg?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The shipped "default" Plasma desktop theme is broken — its /usr/share/plasma/desktoptheme/default/ directory does not contain a colors file, but plasmashell polls for it ~700 times per second with no negative caching. The constant statx + faccessat loop pins idle plasmashell at ~12% CPU continuously, slows menu opens to multiple seconds, and accumulates into visible UI glitches.
breeze-dark ships its own colors file, so the path resolves on the first probe and the polling loop disappears. Idle plasmashell drops from ~12% to near zero.
Bundled in the same commit:
/etc/xdg/plasmarc + /etc/xdg/kdeglobals set the breeze-dark Plasma theme, BreezeDark color scheme, breeze-dark icons, and Breeze widget style as system defaults. User-level overrides in ~/.config/* still win via the normal XDG lookup chain.
KWin systemd drop-in cleaned up to keep only Environment=KWIN_COMPOSE=O2. KWIN_FORCE_SW_CURSOR=1 dropped (hardware cursor works on HDMI and saves per-frame CPU; KWIN_COMPOSE=O2ES replaced with O2.
FlipperOne wallpaper shipped as /usr/share/wallpapers/FlipperOne/ and wired up as the default for both the lock screen (via kscreenlockerrc) and the desktop session (seeded into /home/user/.config/ via a new run action in the ospack recipe).