33 releases (13 breaking)
0.14.0 | Oct 2, 2024 |
---|---|
0.13.0 | Jul 3, 2024 |
0.12.0 | Apr 5, 2024 |
0.11.4 | Mar 11, 2024 |
0.2.1 | Sep 9, 2022 |
#38 in GUI
11,022 downloads per month
Used in 31 crates
(16 directly)
220KB
4K
SLoC
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.
[dependencies]
egui = "0.29"
egui_dock = "0.14"
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.
Examples
The Git repository of this crate contains some example applications demonstrating how to achieve certain effects.
You can find all of them in the examples
folder.
You can run them with Cargo from the crate's root directory, for example: cargo run --example hello
.
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.
Dependencies
~4–9MB
~86K SLoC