Skip to content

Docking A free desktop dock for Linux and BSD

A fast, customizable dock for Linux, FreeBSD, and OpenBSD, written in Python with built-in applets. Supports X11 on all three systems and Wayland on Linux.

Docking dock demonstration with applets and menus
Themeable Auto-hide Multi-monitor GTK + Cairo Applet system Cross desktop environments Open source Built-in Applets Themeable Auto-hide Multi-monitor GTK + Cairo Applet system Cross desktop environments Open source Built-in Applets

Features: built for your desktop workflow

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

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

Fully customizable themes

Adjust themes, sizing, behavior, and pinned item icons so the dock fits the desktop you already use.

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 and BSD 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: Linux and BSD desktops

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

Linux X11 and Wayland · FreeBSD and OpenBSD X11
Environment
Full

Linux X11 desktops

MATE, Xfce, Cinnamon, KDE, GNOME Flashback

Native X11 backend

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

X11

FreeBSD

Xfce reference desktop

X11 backend

Dock placement, window tracking and actions, workspace behavior, auto-hide, and system applets. Includes Classic Bluetooth and camera controls.

X11

OpenBSD

Xfce reference desktop

X11 backend

Dock placement, window tracking and actions, workspace behavior, auto-hide, and system applets, including camera controls. Bluetooth is unavailable on OpenBSD.

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

Cinnamon Wayland

Cinnamon 6.4 and newer

Cinnamon shell or layer-shell

Dock placement, running-window tracking, focus and cycling, minimize and close through Cinnamon's built-in shell API, including activation across workspaces. Placement respects panels and the selected monitor, including sessions without layer-shell. Previews remain unavailable.

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

Protocol-capable Wayland

Sway, labwc, river, Louvre-based, Jay, Miriway, Phosh / phoc

Layer-shell plus advertised protocols

Dock placement, window tracking, actions, workspaces, previews, and idle time are enabled independently. Jay and Miriway require trusted-client configuration; phoc can provide native window thumbnails.

Native

Deepin Wayland

Treeland compositor sessions

Standard protocols plus Treeland extensions

Layer-shell placement, window tracking and previews, Show Desktop, and overlap-driven hiding. Left-edge overlap falls back while Treeland's current checker remains limited.

Overlay

GameScope

Nested and gaming sessions

Native GameScope Wayland socket

Dock placement as an external overlay, including sessions without --expose-wayland. GameScope does not expose general window management to regular clients.

Fallback

Cage, Weston, and unsupported sessions

Safe launcher and applet mode

Reduced backend

Docking remains usable without running indicators, previews, or workspace switching when no supported integration is available.

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.

65 built-in applets plus folder stacks and a separator item

AI Usage

Time & Productivity

Track sessions, token usage, and estimated spend across Claude, Codex, and OpenCode.

Alarm

Time & Productivity

Multiple local-time alarm presets with weekday repeats, snooze, and dismiss controls.

Ambient

Wellness & Ambient

Calming ambient controls for focus, atmosphere, and quieter desktop sessions.

Applications

Launcher & Navigation

Browse and launch installed desktop applications from a compact app menu.

Astronomy Picture of the Day

Information and Environment

NASA APOD thumbnails with title, credit, and explanation in the tooltip.

Battery

System & Power

Battery level, charging state, and power context at a glance.

Bluetooth

System & Power

Bluetooth adapter and device awareness with quick access from the dock.

Bookmarks

Time & Productivity

Pinned shortcuts for places, links, and resources you revisit often.

Brightness

System & Power

Screen brightness control without leaving the dock.

Caffeine

System & Power

Keep the session awake with optional timers for focus blocks or long tasks.

Calculator

Time & Productivity

Quick calculations without opening a larger application.

Calendar

Time & Productivity

Compact date browsing and schedule context.

Cam Shield

System & Power

Camera privacy indicator that shows when a process holds a video device.

Caps Lock

System & Power

Caps and Num Lock LED states for keyboards without physical indicators.

Cert Watch

System & Power

TLS certificate expiry monitor with a color-coded shield and days-remaining badge.

Clippy

Time & Productivity

Clipboard history for recent snippets and repeated text.

Clock

Time & Productivity

Analog or digital clock display with optional seconds and alarm reminder support.

Color Picker

Time & Productivity

Pick and inspect colors directly from the desktop.

Crypto

Information and Environment

Track selected coins and NFT collections with live prices and compact sparklines.

Currency FX

Information and Environment

Live exchange-rate pairs with a sparkline right on the dock icon.

Desk Presence

Wellness & Ambient

Track time at desk versus away, with today's total in the badge.

Desktop

Launcher & Navigation

Desktop actions and surface shortcuts in one place.

Devices

Launcher & Navigation

Browse every mounted device in a live stack that updates as mounts change.

Docker

System & Power

See running containers and stop or restart them from the dock menu.

Drag Share

Time & Productivity

Drop a file to upload it to tmpfiles.org and copy the temporary share URL.

Hacker News

Information and Environment

Top headlines with manual navigation and next batches loaded up to 100 items.

Hydration

Wellness & Ambient

A lightweight reminder to keep healthy breaks in view.

Keyboard Layout

System & Power

See and switch your current keyboard layout.

Last.fm

Information and Environment

Recent Last.fm and Libre.fm scrobbles with album art and profile shortcuts.

Mic Shield

System & Power

Microphone mute toggle with a privacy dot while an app captures input.

Moon

Information and Environment

Current lunar phase with a rendered moon disc and illumination shading.

Music

System & Power

Media playback status, album-art rendering, and transport controls.

Network

System & Power

Connection state and quick network awareness.

News

Information and Environment

Follow country-based RSS publications and browse their latest headlines from the dock.

Notifications

System & Power

Notification status, Do Not Disturb toggle, and pending badge when available.

Pet

Wellness & Ambient

A playful dock companion that reacts to system activity.

Plant Care

Wellness & Ambient

Offline recurring care reminders for multiple plants, with due and overdue status.

Pomodoro

Time & Productivity

Focused work sessions with a built-in timer rhythm.

Power Profiles

System & Power

Switch laptop and handheld performance modes based on how you work.

Quick Note

Time & Productivity

Capture short notes without opening a larger app.

Quote

Information and Environment

Rotating quote and joke applet with local fallback content and online refresh.

Random Trivia

Information and Environment

Quick trivia questions with answer choices and result feedback.

Recent Files

Time & Productivity

Jump back into documents you touched most recently.

Reddit

Information and Environment

Browse posts from your favorite subreddits and open them in your browser.

Run Application

Launcher & Navigation

Alt+F2-style command launcher with terminal mode and searchable app matching.

Screenshot

System & Power

Launch screenshot and portal capture actions directly from the dock.

Search

Launcher & Navigation

Find applications, dock items, open windows, recent files, calculations, and paths.

Session

System & Power

Lock, logout, shutdown, and session actions close at hand.

Speedtest

System & Power

One-click internet speed test with a speedometer dial and Mbps badge.

Stretch Coach

Wellness & Ambient

Healthy movement reminders during long sessions.

Sunrise

Information and Environment

Sunrise, sunset, twilight phases, and a solar dial for selected cities.

System Monitor

System & Power

Live CPU, memory, and system activity in one widget.

System Tray

System & Power

Legacy X11 tray area for status icons, with takeover and release controls.

Telegram

Launcher & Navigation

Keep Telegram signed in, see unread unmuted chat counts, and receive desktop notifications.

Thermals

System & Power

Hottest sensor temperature, fan RPM tooltip, and Celsius/Fahrenheit toggle.

Today in History

Information and Environment

One notable event at a time with online refresh and offline fallback data.

Trash

System & Power

Trash state and cleanup access without opening a file manager.

Unit Converter

Time & Productivity

Convert between units directly from the dock.

URL Shortener

Time & Productivity

Shorten URLs via is.gd and copy the result to the clipboard.

USB Watch

System & Power

Safe-remove access for mounted removable USB storage devices.

Volume

System & Power

Playback and audio control integrated into the same dock surface.

Weather

Information and Environment

Forecast, conditions, air quality, and Celsius/Fahrenheit display at a glance.

WhatsApp

Launcher & Navigation

Persistent WhatsApp Web with desktop notifications and an unread-message badge.

Window Killer

System & Power

Click the applet, then click any window to force-close it.

Workspaces

Launcher & Navigation

Switch and track workspaces from the dock.

Install Docking on Linux or BSD

Choose a Linux package below, or follow the FreeBSD and OpenBSD installation guides.

Linux packages

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

Debian & Ubuntu: install with APT

Add the repository once and receive updates through your package manager. Supports Ubuntu 22.04/24.04/26.04 and Debian 12/13, on both x64 and arm64.

Ubuntu derivatives, including Linux Mint 21.x/22.x, use their Ubuntu base through UBUNTU_CODENAME. Their desktops are not separately tested.

1. Download and verify the signing key

sudo apt update
sudo apt install curl ca-certificates gnupg
curl -fsSL https://dl.cloudsmith.io/public/docking/docking-apt/gpg.key \
  -o /tmp/docking-cloudsmith.asc
gpg --show-keys --with-fingerprint /tmp/docking-cloudsmith.asc

Before continuing, check that the fingerprint is 811B48CD4A69170DD98F4F49185CED80A7947754.

2. Add the repository and install Docking

Copy the complete block below. It detects your distribution base and stops before writing the source if the base is unsupported or cannot be identified.

(
set -eu
sudo install -d -m 0755 /etc/apt/keyrings
sudo install -m 0644 /tmp/docking-cloudsmith.asc /etc/apt/keyrings/docking-cloudsmith.asc
. /etc/os-release
APT_DISTRO="${ID:-}"
APT_SUITE="${VERSION_CODENAME:-}"
if [ -n "${UBUNTU_CODENAME:-}" ]; then
    APT_DISTRO=ubuntu
    APT_SUITE="$UBUNTU_CODENAME"
fi
if [ "$APT_DISTRO" = debian ] && [ -z "$APT_SUITE" ]; then
    DEBIAN_VERSION=$(cat /etc/debian_version 2>/dev/null || true)
    case "$DEBIAN_VERSION" in
        12|12.*|bookworm|bookworm/sid) APT_SUITE=bookworm ;;
        13|13.*|trixie|trixie/sid) APT_SUITE=trixie ;;
    esac
fi
case "$APT_DISTRO:$APT_SUITE" in
    ubuntu:jammy|ubuntu:noble|ubuntu:resolute|debian:bookworm|debian:trixie) ;;
    *) echo "Unsupported APT base: $APT_DISTRO/$APT_SUITE" >&2; exit 1 ;;
esac
sudo tee /etc/apt/sources.list.d/docking.sources > /dev/null <<EOF
Types: deb
URIs: https://dl.cloudsmith.io/public/docking/docking-apt/deb/${APT_DISTRO}
Suites: ${APT_SUITE}
Components: main
Architectures: amd64 arm64
Signed-By: /etc/apt/keyrings/docking-cloudsmith.asc
EOF
sudo apt update
sudo apt install docking
)

For later updates, run sudo apt update and sudo apt upgrade. Existing .deb installations can upgrade directly through APT.

APT packages hosted by Cloudsmith.

Fedora & openSUSE: install with DNF or Zypper

Repository installation is available after the first verified RPM publication. Until then, use the RPM release downloads above.

Add the repository once and receive updates through your package manager. Supports Fedora 44/45 and openSUSE Tumbleweed/Leap 16.0, on both x64 and arm64.

1. Download and verify the signing key

if command -v zypper > /dev/null 2>&1; then
    sudo zypper --non-interactive install curl gpg2
else
    sudo dnf install -y curl gnupg2
fi
curl -fsSL https://dl.cloudsmith.io/public/docking/docking-rpm/gpg.key \
  -o /tmp/docking-cloudsmith.asc
gpg --show-keys --with-fingerprint /tmp/docking-cloudsmith.asc

Before continuing, check that the fingerprint is 04C7240DAD480161C0DFC791859E104126138494.

2. Add the repository and install Docking

Copy the complete block below. It selects DNF on Fedora or Zypper on openSUSE.

(
set -eu
sudo rpm --import /tmp/docking-cloudsmith.asc
if command -v zypper > /dev/null 2>&1; then
    REPO_DIR=/etc/zypp/repos.d
else
    REPO_DIR=/etc/yum.repos.d
fi
sudo install -d -m 0755 "$REPO_DIR"
sudo tee "$REPO_DIR/docking-rpm.repo" > /dev/null <<'EOF'
[docking-rpm]
name=Docking
baseurl=https://dl.cloudsmith.io/public/docking/docking-rpm/rpm/any-distro/any-version/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://dl.cloudsmith.io/public/docking/docking-rpm/gpg.key
sslverify=1
type=rpm-md
metadata_expire=300

[docking-rpm-noarch]
name=Docking noarch
baseurl=https://dl.cloudsmith.io/public/docking/docking-rpm/rpm/any-distro/any-version/noarch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://dl.cloudsmith.io/public/docking/docking-rpm/gpg.key
sslverify=1
type=rpm-md
metadata_expire=300
EOF
if command -v zypper > /dev/null 2>&1; then
    sudo zypper --gpg-auto-import-keys refresh
    sudo zypper install docking
else
    sudo dnf install docking
fi
)

For later updates, run sudo dnf upgrade or sudo zypper update. Existing .rpm installations can upgrade directly through the repository.

RPM packages hosted by Cloudsmith.

FreeBSD & OpenBSD: native packages

Use an X11 desktop and a package matching your OS release and architecture. BSD packages are distributed through GitHub Releases, starting with the first release containing BSD support.

Follow the guide to install dependencies, verify the package checksum, and install or update with pkg or pkg_add. See GitHub Releases for current package availability.

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.

For BSD, install the native dependencies from the BSD installation guide before setting up the Python environment.

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]"
PYGOBJECT_STUB_CONFIG=Gtk3,Gdk3 \
  pip install --no-deps -r requirements-typing.txt

Flexible, extensible, and built for real workflows.

Docking gives you control without getting in your way.

Frequently asked questions

What operating systems and desktops does Docking support?

Docking supports Linux with X11 or Wayland, and FreeBSD and OpenBSD with X11. Linux Wayland integration depends on the desktop: GNOME Shell bridge, KWin, COSMIC protocols, wlroots layer-shell and advertised protocols, or 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, on Linux. Wayland support is selected per desktop: GNOME Shell bridge, KWin, COSMIC protocols, wlroots layer-shell and advertised protocols, or reduced mode when needed. FreeBSD and OpenBSD support uses X11.

Are all applets available on BSD?

Applet availability depends on the operating system and installed services. Cam Shield supports FreeBSD and OpenBSD. Classic Bluetooth is supported on FreeBSD; OpenBSD has no Bluetooth stack.

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 dock that fits the way you actually work.