Skip to content
psyattackPublic

About

WEave is a desktop multifunctional manager for Wallpaper Engine that allows you to download, install and manage wallpapers from Steam Workshop without launching Steam.

Topics

Resources

Stars

10 stars

Watchers

1 watching

Forks

Repository files navigation

Caution

⚠️ Development Paused β€” Superseded by WEngine-Plus

Development of the standalone WEave application is on hold. We strongly recommend switching to WEngine-Plus.

Why switch?
Rather than running a separate standalone client, WEngine-Plus integrates directly into Wallpaper Engine itself: native Workshop browser, 1-click downloads, scene unpacking, and Steam accounts without running external windows.

πŸ”— Repository: https://github.com/psyattack/WEngine-Plus

WEave Logo

WEave

Modern desktop application for managing Steam Workshop wallpapers for Wallpaper Engine

License: MIT Platform Tauri Rust React TypeScript Tailwind CSS Vite Node.js

Русская вСрсия


πŸ“– Overview

WEave is a powerful Wallpaper Engine Workshop Manager built with Tauri 2 and React. Discover, download, and manage thousands of wallpapers from Steam Workshop without opening Steam or a web browser.

preview.mp4

✨ Key Features

  • Search wallpapers in Workshop by specified parameters
  • One-click wallpaper installation
  • Manage installed wallpapers

Specifically:

Workshop Browser
  • Steam Workshop Integration: Replicates the standard Steam Workshop web interface features, including basic search, sorting, and filters (by category, age rating, resolution, etc.).
  • Author Profiles: View all wallpapers and collections published by a specific author.
  • Collections: Support for browsing Steam collections and their contents.
  • Page Preloading: Smooth navigation by pre-fetching the next page of items.
  • Description Translation: Translation of wallpaper descriptions (Google Translate API).
Download Management
  • Steam Accounts Support: Built-in public accounts + ability to add custom accounts (supporting Steam Guard / QR-code authentication).
  • Progress Tracking: Real-time progress display (amount downloaded) and download cancellation.
  • Auto-Apply: Optional feature to automatically apply the latest downloaded wallpaper.
Library Management
  • Apply & Delete: Quickly apply (activate) wallpapers on your desktop and delete them.
  • Parameters & Presets: Adjust wallpaper properties in real time (playback rate, alignment, volume, color settings, brightness, contrast, etc.) and save options directly to project.json (with automatic backup creation).
  • Batch Actions: Multi-select mode for bulk deletion or extraction of installed wallpapers.
  • RePKG Decompiler: Unpack .pkg files in one click.
Wallpaper Engine Integration
  • Auto-Detection: Automatically detects your Wallpaper Engine installation directory.
  • Control Center: Integrated media control bar to play, pause, mute, switch wallpapers, and toggle desktop icons visibility.
  • Playlists & Profiles: Quickly load Wallpaper Engine playlists or settings profiles by name directly from the control bar.
Customization & Hotkeys
  • UI Themes: 6 interface themes and 10 custom accent colors.
  • Global Hotkeys: Customizable keyboard shortcuts to control playback, navigate pages, and open views.
  • Localization: Interface available in both English and Russian (auto-detects system language on first launch).

And other features not mentioned here


πŸš€ Installation

For End Users

Prerequisites

  • Windows 10/11 (x64)
  • Wallpaper Engine (installed)
  • .NET Runtime 8/9/10 (auto-downloaded if missing)

To install, download the latest release from GitHub Releases:

  • Installer (.exe .msi): Run the installer and follow the instructions.
  • Portable version (.zip): Extract the archive to any convenient location on your disk and run WEave.exe.

Note

When you first log in, WEave will automatically download additional tools and the portable version of .NET Runtime 9.0.17 if .NET Runtime/SDK 8/9/10 is not detected on your system.


For Developers

Development Setup

Prerequisites

  • Node.js (v20+)
  • Rust (v1.77+)
  • .NET Runtime/SDK 8/9/10
  • Wallpaper Engine

Setup & Other options

# Clone repository
git clone https://github.com/psyattack/WEave.git
cd WEave

# Install dependencies
npm install

# Run in dev mode
npm run tauri dev

# Build for production
npm run tauri build

# Run tests
npm run test  # Frontend tests
cd src-tauri && cargo test  # Backend tests

# Checks backend
cargo check

# Checks frontend
npm run typecheck
npm run lint

# Bump
npm run bump

πŸ› οΈ Tech Stack

Frontend

  • React 19 + TypeScript
  • Tauri 2 (Desktop framework)
  • Vite (Build tool)
  • TailwindCSS v4 (Styling)
  • Framer Motion (Animations with reduced motion support)
  • Radix UI (Components)
  • Zustand (State management)
  • Type-safe i18n (Custom system)
  • Lucide React (Icons)
  • Vitest (Unit, Integration, and E2E testing with custom Tauri mock setup)

Backend

  • Rust (Tauri backend)
  • Tokio (Async runtime)
  • Reqwest (HTTP client)
  • Scraper (HTML parsing)
  • zip + unrar (Archive extraction)
  • AES-GCM + PBKDF2 (Encryption)
  • Serde (Serialization)
  • dirs (Platform directories)
  • log + env_logger (Logging)

πŸ“‚ Project Structure

View structure
WEave/
β”œβ”€β”€ src/                              # React frontend
β”‚   β”œβ”€β”€ assets/                       # Static assets (logos, icons)
β”‚   β”œβ”€β”€ components/                   # React components
β”‚   β”‚   β”œβ”€β”€ common/                   # Reusable UI components (Select, ToastStack, SetupOverlay, etc.)
β”‚   β”‚   β”‚   β”œβ”€β”€ DetailsPanel.tsx      # Main wallpaper details panel
β”‚   β”‚   β”‚   └── details/              # Details panel sub-components (Actions, MetaGrid, Sidebar, Presets)
β”‚   β”‚   β”œβ”€β”€ dialogs/                  # Modals & Dialogs (Legal, Update, Login/2FA, MultiDownload, etc.)
β”‚   β”‚   β”œβ”€β”€ installed/                # Installed wallpapers components (Grid, SelectionBar, Toolbar, WallpaperCard)
β”‚   β”‚   β”œβ”€β”€ layout/                   # App layout components (Sidebar, TitleBar, TopBar)
β”‚   β”‚   β”œβ”€β”€ settings/                 # Settings components (General, Accounts, Hotkeys, SettingsDialog)
β”‚   β”‚   β”œβ”€β”€ tasks/                    # Task drawer component (TasksDrawer)
β”‚   β”‚   β”œβ”€β”€ views/                    # Views/screens (Workshop, Collections, Installed, Author)
β”‚   β”‚   └── workshop/                 # Workshop components (Card, FilterBar, Pagination)
β”‚   β”œβ”€β”€ e2e/                          # UI & integration tests (Vitest + Tauri mock)
β”‚   β”œβ”€β”€ hooks/                        # React hooks (useWallpaperActions, useTheme, useBootstrap, useHotkeys, etc.)
β”‚   β”œβ”€β”€ i18n/                         # Type-safe i18n system
β”‚   β”‚   └── locales/                  # Translation source files (en.ts, ru.ts)
β”‚   β”œβ”€β”€ lib/                          # Utility helpers (errors, logger, tauri, tauri-mock, workshop)
β”‚   β”œβ”€β”€ stores/                       # Zustand stores (app, dotnet, filters, hotkeys/, etc.)
β”‚   └── types/                        # TypeScript types (workshop.ts)
β”‚
└── src-tauri/                        # Rust backend (Tauri)
    β”œβ”€β”€ capabilities/                 # Tauri v2 permissions & security profiles
    └── src/                          # Backend source code
        β”œβ”€β”€ commands/                 # Tauri commands (invoked from frontend)
        β”‚   β”œβ”€β”€ accounts.rs           # Account management commands
        β”‚   β”œβ”€β”€ download.rs           # Download orchestration commands
        β”‚   β”œβ”€β”€ extract.rs            # Extraction commands (RePKG)
        β”‚   β”œβ”€β”€ steam.rs              # Steam login, cookies & webview commands
        β”‚   β”œβ”€β”€ we.rs                 # Wallpaper Engine commands (install, apply, control)
        β”‚   └── ...                   # Metadata, config, i18n, autoupdate commands, etc.
        β”œβ”€β”€ config/                   # Configuration management
        β”‚   β”œβ”€β”€ settings.rs           # User settings service (JSON)
        β”‚   └── metadata.rs           # Metadata caching service
        β”œβ”€β”€ core/                     # Core app logic
        β”‚   β”œβ”€β”€ app_state.rs          # Global application state (AppState)
        β”‚   β”œβ”€β”€ errors.rs             # Structured error types & formatting
        β”‚   β”œβ”€β”€ logger.rs             # Rotating file logger setup
        β”‚   └── runtime.rs            # Portable .NET runtime manager
        β”œβ”€β”€ plugins/                  # External utility plugins
        β”‚   β”œβ”€β”€ plugin_manager.rs     # Plugin download & updates logic
        β”‚   └── plugin_paths.rs       # External binary path resolution
        β”œβ”€β”€ services/                 # Business logic services
        β”‚   β”œβ”€β”€ accounts/             # Encrypted Steam account storage service
        β”‚   β”œβ”€β”€ workshop/             # Steam Workshop scraper, parser & webview handler
        β”‚   β”œβ”€β”€ download.rs           # Wrapper service for DepotDownloader
        β”‚   β”œβ”€β”€ extract.rs            # Wrapper service for RePKG extractor
        β”‚   β”œβ”€β”€ we_client.rs          # Wallpaper Engine API and monitor integration service
        β”‚   └── ...                   # i18n, translator, metadata services, etc.
        β”œβ”€β”€ lib.rs                    # Tauri context & builder setup
        └── main.rs                   # Executable entry point

πŸ“ Configuration

Configuration files and plugins are stored in:
%LOCALAPPDATA%\WEave\

File / Directory Description
settings.json App settings
metadata.json Cached wallpaper metadata
user_accounts.enc Encrypted Steam accounts
SteamWebView/ Steam parser data
EBWebView/ App data
plugins/ Auto-downloaded plugins (DepotDownloaderMod, RePKG)
dotnet/ Portable .NET Runtime 9.0.17 (if needed)
.log App log file

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


πŸ“„ License

This project is licensed under the MIT License. For full third-party notices and component licenses, see NOTICE.md.


πŸ™ Credits


⚠️ Disclaimer

This application is not affiliated with or endorsed by Valve Corporation or Wallpaper Engine. Steam and Wallpaper Engine are trademarks of their respective owners.


πŸ’¬ Support

For issues, questions, or feature requests, please open an issue on GitHub.


About

WEave is a desktop multifunctional manager for Wallpaper Engine that allows you to download, install and manage wallpapers from Steam Workshop without launching Steam.

Topics

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages