egui_dock
: docking system for egui
Originally created by @lain-dono, this library provides a docking system for egui
.
Contributing
Before contributing, please read the contribution guide.
This library is a collaborative project developed with direct involvement of its users.
Please feel free to open new issues and pull requests, and participate in discussions!
A lot of our discussions take place on egui
's official Discord server,
in the #egui_dock
channel.
Features
- Opening and closing tabs.
- Moving tabs between nodes and resizing.
- Dragging tabs out into new
egui
windows. - Highly customizable look and feel.
- High degree of control over behaviour of the whole dock area and of individual tabs.
- Manipulating tabs and dock layout from code.
Quick start
Add egui
and egui_dock
to your project's dependencies.
[]
= "0.24"
= "0.9"
Then proceed by setting up egui
, following its quick start guide.
Once that's done, you can start using egui_dock
– more details on that can be found in the
documentation.
Demo
Alternatives
egui_tiles
It's a library aiming to achieve similar goals in addition to being more flexible and customizable.
One feature it supports that egui_dock
does not at the moment is the ability to divide nodes into more than two children,
enabling horizontal, vertical, and grid layouts.
[!NOTE]
egui_tiles
is much earlier in development thanegui_dock
and doesn't yet support a lot of features.