Web components offering native-like window controls, primarily designed for Tauri 2.
MIT License
For a preview, visit: window-controls.vinlemon.com
Built using the lit library, these components are available:
WindowControls
: Displays window controls for all operating systems.MacOsControls
, WindowsControls
, GnomeControls
: Display window controls for their respective operating systems.This web component follows the open-wc recommendation.
This project takes inspiration from tauri-controls.
npm i @vinlemon/window-controls
<script type="module">
import '@vinlemon/window-controls/window-controls.js';
</script>
<window-controls></window-controls>
import "@vinlemon/window-controls/window-controls.js";
import { Window } from "@tauri-apps/api/window";
import { platform } from "@tauri-apps/plugin-os";
const windowControls = document.createElement("window-controls");
const appWindow = new Window("main");
platform.then((currentPlatform) => {
window.document.body.appendChild(windowControls);
windowControls.os = currentPlatform;
windowControls.minimize = appWindow.minimize;
windowControls.maximize = appWindow.toggleMaximize;
windowControls.close = appWindow.close;
});
appWindow.listen("tauri://focus", () => {
if (windowControls) {
windowControls.inactive = false;
}
});
appWindow.listen("tauri://blur", () => {
if (windowControls) {
windowControls.inactive = true;
}
});
WindowControls
:"macos"
, "windows"
, or "linux"
.MacOsControls
:WindowsControls
:GnomeControls
:MIT