Every time you log into KDE Plasma you stare at a splash screen for a couple of seconds. Mine
was the default spinner. One evening deep in System Settings I thought: why is this boring when
my terminal fastfetch looks great?
So I forked herzane's fastfetch-kde-splash
and rebuilt it. Here's what it does now and how.
What it does
Instead of a spinner, the splash runs fastfetch and renders its output β your OS logo and
system info β decoded character by character in a random "glitch" order, then exits the
moment your desktop is ready.
- True ANSI color. The original stripped output to a single color. Mine parses the real SGR sequences β standard 16, 256-color, and 24-bit truecolor β and renders them exactly as your terminal would.
- 4 layout modes: logo only, logo + info, info only, and a sequential mode where the logo reveals centre-screen, slides left, and the info fades in.
- Plain-bash installer, no dependencies, that auto-detects your language.
The two interesting bits
1. The ANSI β HTML color pipeline. fastfetch emits ANSI escape sequences. The splash is
QML, so the trick is parsing those SGR codes (\e[38;2;r;g;bm for truecolor, \e[38;5;Nm for
256-color, the classic 30β37/90β97 for the basics) into per-character HTML spans with the right
color, then handing that to a QML Text element. Nothing gets flattened β what you see is what
fastfetch meant.
2. The glitch reveal. Every visible character starts hidden. A FisherβYates shuffle gives a
random reveal order, and a timer un-hides a few characters per frame. The layout is reserved up
front (spaces stay spaces) so nothing jumps around while it decodes β it reads like a terminal
in a hacking scene, not a jumble reflowing.
Install
# needs fastfetch + KDE Plasma 6
git clone https://github.com/DeadIndian/fastfetch-kde-splash.git
cd fastfetch-kde-splash && ./install.sh
Then System Settings β Appearance β Splash Screen β pick it β Apply. It's also on the KDE Store
(Get New Splash Screens).
Links
- Repo (MIT): https://github.com/DeadIndian/fastfetch-kde-splash
- Fork of herzane's original, credited in the README.
If you rice KDE, give it a spin and tell me what breaks.













