License and readme updates
This commit is contained in:
parent
0ea2067e42
commit
88e64b25c8
1 changed files with 26 additions and 40 deletions
66
README.md
66
README.md
|
|
@ -1,22 +1,32 @@
|
||||||
# WoW Backup
|
# WoW Backup
|
||||||
|
|
||||||
A lightweight, native-feeling desktop application built with Kotlin and Compose Multiplatform to automatically backup and restore World of Warcraft configuration data (WTF and Interface directories) on macOS and Windows.
|
A lightweight, native-feeling desktop application to automatically backup World of Warcraft configuration data (WTF and Interface directories).
|
||||||
|
|
||||||
## Overview
|
World of Warcraft stores all UI configurations, macros, keybindings, and addon data in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, and automatically performs scheduled, timestamped backups (optionally compressed as ZIP archives).
|
||||||
|
|
||||||
World of Warcraft stores all UI configurations, macros, keybindings, and addon saved variables in the `WTF/` and `Interface/` folders. Losing this data due to game corruption, accidental deletion, or addon errors can mean losing years of customized setups. **WoW Backup** runs discreetly in the system tray, automatically creates scheduled, timestamped backups (optionally compressed as ZIP archives), and will provide seamless one-click restoration.
|
## Installation & Download
|
||||||
|
|
||||||
|
Pre-built binaries for **macOS**, **Windows**, and **Linux** are provided on each release.
|
||||||
|
|
||||||
|
👉 **See [here](INSTALL.md)** for download links and step-by-step installation instructions.
|
||||||
|
|
||||||
## Key Features
|
## Key Features
|
||||||
|
|
||||||
- 🛡️ **System Tray Native Life Cycle**: Lives in the menu bar / system tray with custom template icons matching light/dark OS appearances. Closing the window hides to tray; quitting is explicit.
|
|
||||||
- ⚙️ **Smart Auto-Configuration**: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions.
|
- ⚙️ **Smart Auto-Configuration**: Automatically detects standard WoW install locations (supporting retail and classic directories) and validates folder permissions.
|
||||||
- ⏰ **Automated & Scheduled Backups**: Background scheduler powered by Cardiologist ensures dependable daily backups at a user-defined time.
|
- ⏰ **Automated & Scheduled Backups**: Background scheduler ensures regular backups at a user-defined time.
|
||||||
- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured retention limit (1–30 backups).
|
- 📦 **Compression & History Management**: Supports both folder replication and ZIP compression, with automatic pruning of backups beyond the configured limit.
|
||||||
- 🎮 **Game State Detection**: Checks for active WoW processes before running backups to prevent file-locking conflicts, with optional "force backup" override and safety confirmation.
|
- 🎮 **Game State Detection**: Checks for running WoW processes before running backups to prevent file-locking conflicts.
|
||||||
- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped due to game execution.
|
- 🔔 **Native OS Notifications**: Notifies the user when backups start, succeed, fail, or are skipped.
|
||||||
- 🚀 **Launch at Startup**: Integrated with macOS LaunchAgents (`~/Library/LaunchAgents/`) and Windows Registry (`HKCU\...\Run`).
|
- 🚀 **Launch at Startup**: Integrated with macOS LaunchAgents (`~/Library/LaunchAgents/`) and Windows Registry (`HKCU\...\Run`).
|
||||||
- 🎨 **Modern Theming & Customization**: Dynamic Material 3 theming supporting System/Light/Dark modes and configurable accent colors (via MaterialKolor).
|
- 🎨 **Theming & Customization**: Dynamic theming supporting Light/Dark mode, with configurable accent colors.
|
||||||
- 🔄 **Restore System (In Progress)**: Interactive restore interface to safely roll back WTF and Interface configurations.
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Application Data Locations
|
||||||
|
The app uses a configuration file to store user preferences. This file and runtime logs are stored in the following locations:
|
||||||
|
- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`)
|
||||||
|
- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`)
|
||||||
|
- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -24,22 +34,14 @@ World of Warcraft stores all UI configurations, macros, keybindings, and addon s
|
||||||
|
|
||||||
- **Language & Runtime**: Kotlin Multiplatform targeting Desktop (JVM, Java 17+)
|
- **Language & Runtime**: Kotlin Multiplatform targeting Desktop (JVM, Java 17+)
|
||||||
- **UI Framework**: JetBrains Compose Multiplatform with Material 3 Design
|
- **UI Framework**: JetBrains Compose Multiplatform with Material 3 Design
|
||||||
- **Architecture**: MVI / MVVM with Kotlin Coroutines and StateFlow
|
- **Architecture**: MVVM with Kotlin Coroutines
|
||||||
- **Scheduling**: `io.github.kevincianfarini.cardiologist` for drift-free daily execution
|
- **Scheduling**: `io.github.kevincianfarini.cardiologist`
|
||||||
- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and size archiving in app data directories
|
- **Logging**: `logback-classic` + `kotlin-logging-jvm` with daily rotation and archiving
|
||||||
- **Serialization**: `kotlinx-serialization-json` for typed JSON configuration persistence
|
- **Serialization**: Settings stored in a JSON file using `kotlinx-serialization-json`
|
||||||
- **Theming**: `com.materialkolor:material-kolor` for dynamic palette generation
|
- **Theming**: `com.materialkolor:material-kolor` for dynamic palette generation
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Installation & Download
|
|
||||||
|
|
||||||
Pre-built binaries for macOS, Windows, and Linux are automatically packaged and published on each release.
|
|
||||||
|
|
||||||
👉 **See [INSTALL.md](INSTALL.md)** for download links, step-by-step installation instructions, Gatekeeper/SmartScreen bypass guidance, and initial setup notes.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Build & Run
|
## Build & Run
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
@ -71,22 +73,6 @@ Pre-built binaries for macOS, Windows, and Linux are automatically packaged and
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Feature Implementation Status
|
## License
|
||||||
|
|
||||||
| Feature | Plan Document | Status | Description |
|
This project is released into the public domain. See the [LICENSE](LICENSE) file or [unlicense.org](https://unlicense.org/) for details.
|
||||||
|---|---|---|---|
|
|
||||||
| **0. Foundation** | `docs/plans/feature-0-foundation.md` | ✅ **Completed** | Architecture, config persistence, logging, platform abstractions |
|
|
||||||
| **1. System Tray** | `docs/plans/feature-1-system-tray.md` | ✅ **Completed** | Tray icon, menu, tray-first lifecycle, window alignment |
|
|
||||||
| **2. Configuration** | `docs/plans/feature-2-configuration.md` | ✅ **Completed** | Full settings UI, path validation, native file dialogs, startup manager |
|
|
||||||
| **3. Backup Engine** | `docs/plans/feature-3-backup.md` | ✅ **Completed** | Parallel copy, ZIP compression, scheduler, history pruning, notifications |
|
|
||||||
| **4. Status Screen** | `docs/plans/feature-4-status.md` | ✅ **Completed** | Live status dashboard, progress indicator, manual backup trigger, shortcuts |
|
|
||||||
| **5. Restore Screen** | `docs/plans/feature-5-restore.md` | 🚧 **Pending** | Backup list browser, ZIP extraction, confirmation flow, safety checks |
|
|
||||||
| **6. Release Pipeline** | `docs/plans/feature-6-release-pipeline.md` | ✅ **Completed** | GitHub Actions multi-platform release pipeline & packaging automation |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Application Data Locations
|
|
||||||
|
|
||||||
- **macOS**: `~/Library/Application Support/WoWBackup/` (Logs: `.../logs/wowbackup.log`)
|
|
||||||
- **Windows**: `%APPDATA%\WoWBackup\` (Logs: `...\logs\wowbackup.log`)
|
|
||||||
- **Linux**: `~/.config/WoWBackup/` (Logs: `.../logs/wowbackup.log`)
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue