egui-dock

Manage draggable tabbed layouts for egui-based Rust applications.

1|Updated Mar 15, 2026
One-click install
npx skills add https://github.com/hafley66/claude-research --skill egui-dock
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: egui-dock
Source: https://github.com/hafley66/claude-research/tree/main/skills/egui-dock
Command: npx skills add https://github.com/hafley66/claude-research --skill egui-dock

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Docking and tab management for egui-based applications, enabling IDE-like layouts with draggable tabs, split panes, and floating windows, while delegating content rendering to a TabViewer.

Core Features & Use Cases

  • DockState and Tree manage main and floating surfaces with a binary-tree layout.
  • TabViewer trait defines how each tab is titled and rendered.
  • Drag-and-drop tab rearrangement, split panes, and floating windows for flexible UI composition.
  • Serde persistence support to save and restore layouts.

Quick Start

Initialize a DockState with your initial tabs and render it with DockArea in your egui context.

Frequently Asked Questions about egui-dock

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add draggable tabs and dock panels to an egui Rust application?

To add draggable tabs and dock panels in egui, initialize a DockState with your tabs and render it using the DockArea widget. You implement the TabViewer trait to define how each individual tab is titled and rendered.

Can I create IDE-like split panes and floating windows using egui?

Yes, you can create IDE-like split panes and floating windows in egui using a DockState. It manages main and floating surfaces via a binary-tree layout, enabling flexible UI composition through drag-and-drop tab rearrangement.

How do I save and restore UI layout state in an egui app?

You can save and restore UI layout state in egui using the optional serde persistence support provided by the DockState. This allows you to serialize the binary-tree layout and tab configuration to restore the exact UI arrangement later.

Does egui support managing complex dashboard layouts with movable panels?

Egui supports managing complex dashboard layouts with movable panels through a DockState and Tree structure. This binary-tree system handles main and floating surfaces, delegating content rendering to a TabViewer while enabling drag-and-drop panel resizing.

What is the best way to render custom tab content in an egui dock layout?

The best way to render custom tab content in an egui dock layout is by implementing the TabViewer trait. This trait delegates content rendering to your application logic, defining exactly how each tab is titled and drawn within the DockArea.