Skip to content
edumucelliPublic

About

A lightweight, feature-rich dock for Linux written in Python with GTK 3 and Cairo for X11 and Wayland

Topics

Resources

Stars

71 stars

Watchers

3 watching

Forks

Repository files navigation

Docking

CI Coverage Release Downloads Python GTK 3 Platform License Last commit

A lightweight, feature-rich dock for Linux written in Python with GTK 3 and Cairo. Inspired by Plank and Cairo-Dock, with an extensible applet system for custom widgets.

Docking in action

Highlights

  • Fast launcher workflow with running indicators, previews, app actions, and drag-and-drop organization, including pinned files and folder stacks.
  • Linux desktop integration across X11 and Wayland, with backend-specific capabilities and reduced fallback mode.
  • Unified search for applications, windows, recent files, calculations, and paths.
  • 65 built-in applets for messaging, media, productivity, system controls, and more.
  • Flexible placement across monitors, auto-hide, separators, scalable icons, custom icons, and 13 built-in themes.
  • AppImage, Debian, RPM, Flatpak, Snap, Arch, and Nix release packages.
  • Unity LauncherEntry badges/progress, X11 blur regions, and 74 locale catalogs plus English fallback.
  • Extensible Python applet system for adding custom dock-resident tools.

Requirements

  • Linux desktop with X11 (full support) or Wayland (backend-specific support).
  • Python 3.10+, GTK 3, and Cairo.

Release packages include or depend on the required runtime libraries. See the installation guide for source dependencies and the Wayland guide for compositor requirements and feature coverage.

Installation

Choose the instructions for your system:

The website also provides APT and RPM instructions.

Running

After installing a system package, launch Docking from your application menu or:

docking

For other package formats, follow the package-specific commands. Docking selects a backend from the desktop session. GNOME Wayland uses the companion Shell extension; see the Wayland guide for setup. Source launches and debug logging are covered in the development guide.

First Use

Right-click the shelf background between icons to open the dock menu. Hold Ctrl while right-clicking anywhere on the shelf if the background is hard to hit.

  • Open Preferences to choose position, monitor behavior, icon size, themes, and hiding behavior.
  • Choose Add Applet or Add Separator to extend the dock.
  • Right-click a running app -> Keep in Dock to pin it, or drop applications, files, folders, and AppImages onto the dock.
  • Open Diagnostics to inspect the capabilities available in your session.

See First Use for removing items, custom icons, folder stacks, and diagnostic reports.

Global Search

Open Search... from the dock menu or add the Search applet. Configure a system-wide shortcut under Preferences -> Behavior -> Global Search. Search applications, windows, files, calculations, conversions, dates, and the web.

Try Firefox, Time in Sao Paulo, 10 USD to EUR, or 10 + pi. Press Enter to open a result, Ctrl+P to preview it, or Ctrl+J for actions. See the Global Search guide for providers and shortcuts.

Configuration

Open right-click -> Preferences to configure appearance, placement, behavior, applets, and update checks. Display moves the dock between monitors. Settings are saved automatically in ~/.config/docking/dock.json.

See the Configuration guide for every setting, pinned entry formats, per-applet preferences, backups, and safe manual editing.

Theming

Docking includes thirteen built-in themes and supports custom JSON themes. A few examples:

Default Glass Olive
Default theme Glass theme Olive theme

See the Themes guide for the complete gallery, custom-theme instructions, and theme field reference.

Applets

Docking includes 65 built-in applets, ranging from application launchers and system controls to productivity tools, wellness reminders, and live information.

Docking applet showcase

Category Examples
Launcher & Navigation Applications, Search, Run Application, Desktop, WhatsApp, Workspaces
Time & Productivity Clock, Calendar, Alarm, Pomodoro, Calculator, Quick Note
System & Power Devices, Network, Bluetooth, Volume, Battery, System Tray
Wellness & Ambient Hydration, Plant Care, Stretch Coach, Ambient, Pet
Information and Environment Weather, Sunrise, Moon, News, Reddit, Hacker News

Add one from right-click -> Add Applet, then choose a category. See the Applets guide for the complete catalog, interactions, preferences, update intervals, and integration requirements.

Documentation

Guide Contents
Installation Package repositories, downloads, and source dependencies
Wayland Backend support matrix and compositor setup
Configuration First use, preferences, and saved settings
Global Search Providers, examples, and keyboard controls
Applets Built-in catalog and applet preferences
Themes Theme gallery and custom JSON themes
Development Source setup, tests, and contribution workflow
Custom Applets Metadata, lifecycle, and implementation examples
Translations Locale catalogs and gettext workflows
D-Bus Remote Control Item inspection and control API
Icon Assets and Packaging Application icons and packaging conventions
Packaging Build commands for all package formats
Visual Compositor Testing Wayland integration testing and findings

Contributing

Contributions are welcome. See the development guide for the pull request workflow and required checks.

License

GPL-3.0-or-later

APT repository hosting is provided free for this open-source project by Cloudsmith.

About

A lightweight, feature-rich dock for Linux written in Python with GTK 3 and Cairo for X11 and Wayland

Topics

Resources

Stars

71 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages