SkillAgentSearch skills...

Krema

A lightweight, high-performance dock for KDE Plasma 6 — spiritual successor to Latte Dock

Install / Use

/learn @isac322/Krema

README

Krema

WIP License: GPL-3.0-or-later KDE Plasma 6 Qt 6

Note: Krema is under active development. Core features are functional, but some features are still in progress. See the Roadmap for details.

A lightweight, high-performance dock for KDE Plasma 6 — spiritual successor to Latte Dock.

Krema brings back the beloved dock experience for KDE Plasma users who miss Latte Dock. Built from scratch with C++23, Qt 6, and KDE Frameworks 6, it delivers smooth parabolic zoom animations, live window previews via PipeWire, and deep native integration with the Plasma desktop.

Why Krema?

  • Your dock is back — Krema picks up where Latte Dock left off, purpose-built for Plasma 6
  • A dock that speaks Plasma — Uses KDE's own frameworks (Kirigami, KConfig, KColorScheme, KGlobalAccel) and respects your theme, shortcuts, and desktop conventions
  • Lightweight by design — GPU-accelerated rendering via QRhi, Wayland-native via Layer Shell, lazy resource allocation
  • Make it yours — 7 background styles including acrylic frosted glass and Mica, configurable zoom, spacing, and position

Features

Core Dock

  • Parabolic Zoom — macOS-style icon magnification on hover
  • Icon Size Normalization — Auto-detects icon padding and scales for uniform appearance
  • Indicator Dots — Visual markers for running applications
  • Pin/Unpin — Keep favorite apps in the dock
  • Context Menu — Right-click for pin, close, new instance (KDE Breeze native)
  • Mouse Wheel Cycling — Scroll to switch between windows of the same app

Visual Styles

  • Panel-Inherit — Match your Plasma panel style automatically
  • Semi-Transparent — Subtle translucency over your desktop
  • Transparent — Fully transparent dock background
  • Tinted — Custom color with adjustable opacity
  • Acrylic / Frosted Glass — Blur + noise texture effect
  • Mica — System accent color based, inspired by Windows 11 Mica
  • Adaptive Opacity — Switches to opaque when windows overlap the dock

Window Previews

  • PipeWire Thumbnails — Live GPU-efficient window previews on hover
  • Multi-Window List — All windows of grouped apps shown together
  • Click-to-Activate — Click a preview to switch to that window
  • Preview Close Button — Close windows directly from the preview popup

Notifications & Attention

  • Notification Badges — Badge count on dock icons via D-Bus and SmartLauncher Unity API
  • Badge Display Modes — Choose between Number, Dot, or Off
  • 6 Attention Animations — Bounce, Wiggle, Pulse, Glow, Dot Color, and Blink
  • Task Progress Bar — Progress indicator on dock icons (e.g. file copy in Dolphin)
  • Do Not Disturb — Attention animations suppressed when system DND is active
  • Auto-Stop — Attention animations stop after configurable duration (default 5s)

Multi-Monitor & Virtual Desktops

  • Multi-Monitor Modes — Primary only, all screens, or follow active window
  • Per-Screen Settings — Override icon size, edge, visibility mode per monitor
  • Follow Active Triggers — Mouse, focus, or composite trigger for dock follows
  • Virtual Desktop Filtering — Show all desktops, dim other desktops, or current only
  • Automatic Startup — Launches on login, enforces single instance

Integration & Accessibility

  • KDE Native Integration — Kirigami UI, KDE color schemes, Plasma theme colors
  • Wayland Native — Built on Layer Shell protocol for proper dock behavior
  • Smart Visibility — Always visible, auto-hide, or dodge windows modes
  • Drag & Drop — Reorder dock items, drop files onto apps, add launchers by dragging .desktop files
  • Settings UI — Kirigami-based settings dialog (FormCard) for easy customization
  • Keyboard Accessibility — Full keyboard navigation with AT-SPI screen reader support

Keyboard Shortcuts

| Shortcut | Action | |----------|--------| | Meta+` | Toggle dock visibility | | Meta+1-9 | Activate Nth app | | Meta+Shift+1-9 | Launch new instance of Nth app | | Meta+F5 | Focus dock for keyboard navigation | | Arrow keys | Navigate between dock items / preview thumbnails | | Enter | Activate focused item | | Escape | Exit keyboard navigation |

Installation

AUR COPR OBS PPA

| Distribution | Versions | Architectures | |---|---|---| | Arch Linux / Manjaro | Rolling | x86_64, aarch64 | | Fedora | 42, 43, Rawhide | x86_64, aarch64 | | openSUSE | Tumbleweed, Slowroll | x86_64, aarch64 | | Ubuntu | 25.04, 25.10, 26.04 | x86_64, aarch64 | | Debian | 13 (Trixie) | x86_64, aarch64 |

<details> <summary><strong>Arch Linux / Manjaro (AUR)</strong></summary>
yay -S krema
# or
paru -S krema
</details> <details> <summary><strong>Fedora (COPR)</strong></summary>
sudo dnf copr enable isac322/krema
sudo dnf install krema
</details> <details> <summary><strong>openSUSE (OBS)</strong></summary>
# Tumbleweed
sudo zypper addrepo https://download.opensuse.org/repositories/home:isac322/openSUSE_Tumbleweed/home:isac322.repo
sudo zypper refresh
sudo zypper install krema

# Slowroll
sudo zypper addrepo https://download.opensuse.org/repositories/home:isac322/openSUSE_Slowroll/home:isac322.repo
sudo zypper refresh
sudo zypper install krema
</details> <details> <summary><strong>Ubuntu (PPA)</strong></summary>
sudo add-apt-repository ppa:isac322/krema
sudo apt update
sudo apt install krema

Alternatively, use the OBS repository for Ubuntu 25.04/26.04.

</details> <details> <summary><strong>Debian 13 (OBS)</strong></summary>
echo 'deb http://download.opensuse.org/repositories/home:/isac322/Debian_13/ /' | sudo tee /etc/apt/sources.list.d/krema.list
curl -fsSL https://download.opensuse.org/repositories/home:isac322/Debian_13/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_isac322.gpg > /dev/null
sudo apt update
sudo apt install krema
</details> <details> <summary><strong>Building from Source</strong></summary>

Dependencies (Arch Linux / Manjaro)

sudo pacman -S --needed \
    cmake extra-cmake-modules ninja ccache just gcc \
    qt6-base qt6-declarative qt6-wayland qt6-shadertools \
    kwindowsystem kconfig kcoreaddons ki18n \
    kglobalaccel kcolorscheme kiconthemes kcrash kxmlgui kservice \
    kirigami layer-shell-qt wayland kpipewire plasma-workspace \
    catch2

Minimum Versions

| Dependency | Minimum Version | |---|---| | KDE Plasma | 6.0.0 | | Qt 6 | 6.8.0 | | KDE Frameworks 6 | 6.0.0 | | CMake | 3.22 | | C++ Compiler | GCC 13+ / Clang 17+ |

Build & Run

just configure    # cmake --preset dev
just build        # cmake --build --preset dev
just test         # ctest --preset dev
just run          # run krema
</details>

Roadmap

See ROADMAP.md for the full development roadmap.

Acknowledgments

Krema is a spiritual successor to Latte Dock, which served the KDE community for years as the go-to dock application. We are grateful for the Latte Dock project and the community that built and maintained it. Krema aims to carry that spirit forward for KDE Plasma 6.

Contributing

Contributions are welcome! Please open an issue to discuss your idea before submitting a pull request.

License

Krema is licensed under GPL-3.0-or-later.

Related Skills

View on GitHub
GitHub Stars6
CategoryDevelopment
Updated11d ago
Forks1

Languages

C++

Security Score

75/100

Audited on Mar 29, 2026

No findings