This plugin helps you set a custom inset for the window controls on macOS. Currently only for Tauri v1.*
Note
Tauri version 2.4.0 now makes the traffic light position option from Tao available! 🎉 Checkout the release here
Caution
This repository is now archived and will recieve no further updates.
This is done without any visible artifacts on resize.
Using the command line from crates.io:
$ cargo add tauri-plugin-trafficlights-positioner
Or add it manually to Cargo.toml
:
[target.'cfg(target_os = "macos")'.dependencies]
tauri-plugin-trafficlights-positioner = "1.0.0"
Or get the latest using git:
[target.'cfg(target_os = "macos")'.dependencies]
tauri-plugin-trafficlights-positioner = { git = "https://github.com/ItsEeleeya/tauri-plugin-trafficlights-positioner/" }
fn main() {
tauri::Builder::default()
.setup(move |app| {
if let Some(window) = app.get_window("main") {
#[cfg(target_os = "macos")]
// NOTE: Make sure you only call this ONCE per window.
let _ = window.setup_traffic_lights_inset(LogicalPosition::new(20.0, 24.0));
};
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
If you need extra customization (especially for Windows) use clearlysid/tauri-plugin-decorum
Almost all credits for positioner.rs
goes to @haasal, @charrondev and Hoppscotch
This is also similar to how it is implemented in the Zed editor.
Original Tauri Issue: tauri-apps/tauri#4789
(Gist) https://gist.github.com/charrondev/43150e940bd2771b1ea88256d491c7a9