https://github.com/coderedart/egui_overlay
An Overlay Window that allows input to passthrough
https://github.com/coderedart/egui_overlay
Last synced: 3 months ago
JSON representation
An Overlay Window that allows input to passthrough
- Host: GitHub
- URL: https://github.com/coderedart/egui_overlay
- Owner: coderedart
- License: mit
- Created: 2022-03-01T09:16:37.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-01-12T21:32:17.000Z (6 months ago)
- Last Synced: 2025-03-28T17:05:13.783Z (4 months ago)
- Language: Rust
- Size: 2.55 MB
- Stars: 168
- Watchers: 2
- Forks: 18
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-egui - egui_overlay
README
## Egui Overlay
In this context, Overlay simply means a gui application where
1. It has a transparent window surface
2. It can toggle the borders/decorations like title bar.
3. **can** let the input like mouse clicks to passthrough its window surface.Here, we will let input passthrough when egui doesn't need input.
The `egui_overlay` crate just combines the functionality from `egui_window_glfw_passthrough` for windowing functionality.
For rendering, we use `egui_render_three_d`, as `three-d` will allow you to draw a bunch of things easily.
But, as apple doesn't support opengl, we use `egui_render_wgpu` on macos.For advanced usecases, i recommend directly using `egui_window_glfw_passthrough` crate directly with either wgpu or three-d or glow backend crates.
As you can see in `lib.rs`, its barely 150 lines of code to set up. It will allow you more control over event loop, as well as drawing.Look at the `basic` example for a rough idea of how to use this crate for normal usecase.
Look at the `triangle` example (only for linux/windows users, as i use three-d), to see how you can draw custom stuff too.> use `cargo run -p basic` to run the example.
https://github.com/coderedart/egui_overlay/assets/24411704/9f7bab7b-26ec-47d1-b51e-74006dfa7b0d
## Platforms
1. Windows
2. Linux
1. X11 supported natively. And wayland can work via Xwayland. But support might vary between window managers.
2. You need a compositor that supports transparency. eg: `kwin` supports compositing, but `i3wm` needs an external compositor like `picom`.
3. Some tiling window managers like i3wm need users to configure your overlay window as "floating" to keep it above other tiled windows.
3. Mac## Bugs
1. On Mac, when passthrough is enabled, the window titlebar can only be clicked in the bottom half. The top half becomes passthrough too for some reason.