Skip to content

isac322/krema

Repository files navigation

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 — 6 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

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, dodge windows, or smart hide 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

Krema packages are available via Open Build Service (OBS).

Distribution Architecture Package Format
Arch Linux x86_64, aarch64 .pkg.tar.zst
Fedora 40, 41, 42 x86_64, aarch64 RPM
openSUSE Tumbleweed x86_64, aarch64 RPM
Ubuntu 24.04, 24.10 amd64, arm64 DEB
Debian Trixie (13) amd64, arm64 DEB
Building from Source

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

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.