Docking

A dock that adapts to your workflow.

Fast, customizable, and extensible dock application -- fully written in Python, with built-in applets and full Linux desktop integration.

Docking dock preview with applets
Themeable Auto-hide Multi-monitor GTK + Cairo Applet system Cross desktop environments Open source 56 Applets Themeable Auto-hide Multi-monitor GTK + Cairo Applet system Cross desktop environments Open source 56 Applets

Features: built to feel native in real Linux workflows

Docking combines launcher speed, desktop awareness, and a modular widget system in one polished surface.

Fast launcher workflow

Quick access to your core apps, work surfaces, and utilities without visual noise or startup drag.

Built-in applets (56)

Ship a dock that already knows how to show system status, weather, media, timers, notes, and more.

Fully customizable themes

Adjust the dock to your desktop instead of adapting your desktop to the dock.

Multi-monitor and auto-hide

Keep the dock where it belongs, visible when needed and out of the way when focus matters.

Cross desktop compatibility

Built for Linux setups that span more than one desktop environment and more than one way of working.

Extensible applet system

Add your own widgets and behaviors without compromising the dock’s main runtime model.

Compatibility: one dock across Linux desktops

Docking selects the best backend for the current session and falls back cleanly when a compositor does not expose every window-management feature.

X11, GNOME, KDE Plasma, COSMIC, Niri, Wayfire, wlroots, and fallback sessions
Environment
Full

X11 desktops

MATE, Xfce, Cinnamon, KDE, GNOME Flashback

Native X11 backend

Running indicators, window actions, previews, workspace behavior, dodge/auto-hide, and desktop integration.

Full

GNOME Wayland

GNOME / Mutter 45+

GNOME Shell bridge

Dock placement, window tracking, activate/minimize/close actions, previews, workspace switching, Show Desktop, and Alt+Tab hiding.

Native

KDE Plasma Wayland

KWin / Plasma 6

KWin backend

Layer-shell placement, AT-SPI window tracking with titles, and workspace switching through KWin D-Bus. Window actions depend on what KWin exposes.

Native

COSMIC Wayland

COSMIC desktop sessions

COSMIC protocols

Native layer-shell placement with COSMIC toplevel, workspace, overlap, and preview protocol paths where available.

Native

Niri Wayland

Niri compositor sessions

Niri IPC backend

Layer-shell placement, window tracking with titles, previews, workspace switching, Show Desktop, idle time, and color picker — via native Niri IPC.

Native

Wayfire Wayland

Wayfire compositor sessions

Wayfire IPC backend

Layer-shell placement, window tracking with titles, activate/minimize/close actions, workspace switching, Show Desktop, visibility-based dodge, window picking, and color picker — via native Wayfire IPC.

Varies

Hyprland, Sway, labwc, river

wlroots-style Wayland compositors

Layer-shell plus compositor protocols

Dock placement, window tracking, workspaces, and previews vary by compositor protocol support and backend selection.

Fallback

Any unsupported session

Safe launcher/app applet mode

Reduced backend

Dock remains usable even without window management, running indicators, previews, or workspace switching.

57 built-in applets: searchable tools for the dock

Filter the catalog by workflow and find the applets that make Docking more than a launcher: system controls, command launchers, media, notes, weather, privacy indicators, and folder-friendly utilities.

57 built-in applets plus folder stacks and separators

Showing 57 applets

Install Docking on any Linux distribution

Download the latest release package that fits your Linux setup and get straight to work.

Nix release assets include an output tarball and a matching store path for the selected architecture.

Build from source: clone it, hack on it, extend it

Docking is open source and built for people who want control, extensibility, and a clean code path into custom workflows.

bash
git clone https://github.com/edumucelli/docking.git
cd docking
python3 -m venv --system-site-packages .venv
source .venv/bin/activate
pip install -e ".[dev]"

Flexible, extensible, and built for real workflows.

Docking gives you control without getting in your way.

Frequently asked questions

What Linux desktop environments does Docking support?

Docking supports X11 and Wayland through backend-specific integrations: full X11 support, GNOME / Mutter via the companion Shell bridge, KDE Plasma 6 through the native KWin backend, COSMIC through native Wayland protocols, wlroots-style compositors via layer-shell and advertised protocols, and reduced mode when compositor integration is unavailable.

Can I create my own applets?

Yes. Docking has an extensible applet system. Each applet is a Python package with a state, render, and applet module. You can add custom widgets and behaviors without modifying the dock's core runtime.

Does Docking support Wayland?

Yes. Docking supports X11 and Wayland. Native Wayland support is selected per desktop: GNOME Shell bridge, KWin, COSMIC protocols, wlroots layer-shell/protocol paths, or reduced mode when needed.

Is Docking free and open source?

Yes. Docking is licensed under GPL-3.0-or-later and fully open source. The code is hosted on GitHub and contributions are welcome.

Start using Docking today

Install a build, star the project, and shape a Linux dock that fits the way you actually work.