Auto-Shutdown is a sleek, modern Tauri application built with React and Typescript. It provides powerful and flexible system shutdown scheduling options in a lightweight, cross-platform package. Get precise control over when your computer powers down, restarts, or sleeps, all from an intuitive interface.
- Native Power: Leverages low level system commands via Rust direct, reliable system shutdown.
- Modern UI: Built with React, React Router, and TailwindCSS for a responsive, smooth, and visually appealing single-page application experience.
- Persistent Settings: Uses Tauri's store plugin to remember your preferences and schedules across sessions.
- Multiple Modes: Choose from various shutdown triggers: timed countdown, specific schedule, or after a period of system idle time.
- Background Efficiency: Runs discreetly in the background using minimal system resources.
- Instant Access: Toggle the application window instantly with a global hotkey
(Ctrl + Shift + \)
- Compact Size: Remarkably small application footprint (approx.
9MB
).
Main Window: Clean, minimal interface designed for quick access to shutdown controls.
Settings Window: Customize application behavior, like autostart and notifications.
Modes Window: Select and configure your preferred shutdown trigger (Timer, Schedule, Idle).
Shutdown Warning: A clear 60-second countdown prompt before shutdown, giving you a chance to cancel.
Auto-Shutdown is designed to be powerful yet unobtrusive. Here's a closer look at what makes it stand out:
- Global Hotkey (
Ctrl + Shift + \
): Instantly show or hide the application window from anywhere in your OS, whether it's focused or running in the background. - Multiple Shutdown Modes:
- β±οΈ Timer Mode: Set a specific duration (e.g., "shut down in 1 hour 30 minutes").
- ποΈ Schedule Mode: Plan shutdowns for specific dates and times (e.g., "shut down every Friday at 11 PM").
- π€ Idle Mode: Automatically trigger a shutdown after the system has been inactive for a defined period.
- System Autostart: Configure the app to launch automatically when you log into your computer, ensuring your schedules are always active.
- Background Operation: Runs efficiently in the system tray or background, consuming negligible CPU and RAM when idle. Perfect for "set it and forget it" usage.
- Lightweight & Compact: With an installation size of around 9MB, it won't clutter your system or drain resources.
- Modern Audio Cues: Utilizes subtle, useful sound notifications for key events (like the shutdown warning) without being annoying.
- Adjustable View Scale: While respecting system scaling, the UI elements are designed to be clear and readable. (Future enhancement: potentially add explicit in-app zoom).
- Graceful Shutdown Prompt: The 60-second warning dialog (see screenshot above) ensures you're not caught off-guard and provides an easy way to cancel the pending action.
- Simply click on the releases section, and download the latest version
- Double click the executable
.exe
- Done!
/ (root)
βββ logo.png # Application logo.
βββ README.md # This file.
βββ package.json # Node dependecies and scripts.
βββ tsconfig.json # Typescript configuration.
βββ vite.config.ts # Vite configuration.
βββ public/ # Public assets (other than logo).
βββ screenshots/ # Application screenshots.
βββ src/ # React source code.
β βββ App.css # App level styles.
β βββ App.tsx # Main App component.
β βββ components/ # Reusable React components.
β βββ lib/ # Utility library (e.g., store management).
β βββ pages/ # Application pages (Home, Settings, Mode).
β βββ main.tsx # Application entry point.
βββ src-tauri/ # Tauri integration (Rust backend).
-
Prerequisites: Ensure you have Node.js, npm/yarn/pnpm, and the Rust development environment with Tauri prerequisites installed. Tauri Setup Guide.
-
Install Dependencies: Navigate to the project root and run:
npm install # or yarn install / pnpm install
-
Start Development Server: To run the app in development mode with hot-reloading for the frontend:
npm run dev
This command starts both the Vite frontend server and the Tauri backend.
-
Build for Production: To create optimized, distributable application bundles:
npm run build
The output will be located in
src-tauri/target/release/bundle/
. -
Tauri Commands: To interact directly with the Tauri CLI (e.g., for plugin management or specific build tasks):
npm run tauri -- [tauri command] # Example: npm run tauri plugin add store
- VS Code
- Tauri for VS Code - Official Tauri extension.
- rust-analyzer - Essential for Rust development.
Contributions are welcome! If you find a bug, have a feature request, or want to improve the codebase, feel free to:
- Open an issue to discuss the change.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE
file (if present) for details.
This project is still under development. While core functionality is being built, some features might be incomplete or subject to change.