Crates.io | egui_tool_windows |
lib.rs | egui_tool_windows |
version | 0.2.0 |
created_at | 2025-06-27 18:20:41.271764+00 |
updated_at | 2025-07-14 08:56:23.262435+00 |
description | Floating tool windows for egui that can be used in containers, like resize, scroll-area, frame, etc. |
homepage | https://github.com/MakerPnP/egui_tool_windows |
repository | https://github.com/MakerPnP/egui_tool_windows |
max_upload_size | |
id | 1729201 |
size | 327,976 |
Floating tool windows for egui that can be used in containers, like resize, scroll-area, frame, etc.
Regular egui::Window and egui::Area instances can be placed above them, they do not clash.
egui::ScrollArea::both()
.auto_shrink([false, false])
.scroll_bar_visibility(ScrollBarVisibility::AlwaysVisible)
.show(ui, |ui|{
ui.strong("Content inside a frame");
ToolWindows::new()
.windows(ui, |builder|{
builder
.add_window("id_salt_1")
.show("Title 1".to_string(), |ui| {
ui.label("Tool window 1");
});
builder
.add_window("id_salt_2")
.show("Title 2".to_string(), {
ui.label("Tool window 2");
});
});
});
You can call ToolWindows::new()
as many times as you like, e.g. if you have multiple containers that each need their
own tool windows.
This crate is work-in-progress, but usable, see below.
So currently, if what you want to put in tool windows isn't affected by the current limitations, then this is usable right now for you.
Once the above issues are solved more attention will be given to additional planned features such as:
The crate contains 3 demos.
simple
- shows the current state and behavior of the tool windows when used in a container.inside_windows
- attempts to use the tool windows inside egui::Window
instances.inside_dock
- attempts to use the tool windows inside an egui_dock
, when the tabs are popped out egui::Window
instances are used. This is most complicated scenario.Refer to the demos
folder.
Here's a recent screenshot of the simple
demo:
Here's a recent screenshot of the inside_dock
demo:
Available under APACHE or MIT licenses.
inside_dock
example to use egui_dock 0.17persistence
feature, for use with the egui
feature of the same name.egui::Window
.inside_dock
example.default_size
and default_pos
.First release
2025/06/27 - Crate created!
If you'd like to contribute, please raise an issue or a PR on the github issue tracker, work-in-progress PRs are fine
to let us know you're working on something, and/or visit the discord server. See the section above.