Skip to content

FahadBinHussain/aura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

145 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aura

Wakapi Time Tracking

A modern wallpaper management and personalization application available in three implementations:

  • WinUI 3 - Modern Windows native app with Fluent Design
  • WPF - Traditional Windows desktop application
  • Python - Cross-platform GUI with Tkinter

Browse, organize, and apply beautiful wallpapers from multiple sources including Backiee, AlphaCoders, Unsplash, Pexels, and Wallpaper Engine.

🌟 Features

All Implementations

  • Multiple Wallpaper Sources: Backiee, AlphaCoders, Unsplash, Pexels, and Wallpaper Engine
  • Intelligent Categorization: Browse wallpapers by collections, AI-generated content, and more
  • Adaptive Layout: Responsive grid that adapts to any screen size
  • Visual Tagging System: Identify wallpaper qualities (4K, 5K, 8K) and AI-generated content
  • Slideshow Functionality: Set multiple wallpapers to rotate automatically
  • Performance Optimized: Fast loading and smooth scrolling

WinUI 3 & WPF Specific

  • Modern UI: Clean interface following Fluent Design principles (WinUI) or Modern WPF UI
  • Infinite Scrolling: Smooth browsing experience with dynamic content loading
  • Personalization Options: Create and manage custom collections
  • Interactive Slideshow: Dynamic, interactive wallpaper experiences

Python/Tkinter Specific

  • Lightweight: Minimal resource usage
  • Startup Integration: Run on system startup
  • Lock Screen Support: Set lock screen wallpapers
  • DepotDownloader Integration: Support for Wallpaper Engine workshop content

Comparison

βœ… means the tool is built around that capability. partial means it has a related feature, but not the same scope or depth. - means it is not the point of that tool.

Capability Aura Wallpaper Engine Lively Wallpaper backiee John's Background Switcher Variety
Static wallpaper browsing and applying βœ… partial partial βœ… βœ… βœ…
Multiple online sources βœ… partial partial βœ… βœ… βœ…
Native Windows desktop app βœ… βœ… βœ… βœ… βœ… -
Multiple implementations in one repo βœ… - - - - -
Slideshow / wallpaper rotation βœ… βœ… partial βœ… βœ… βœ…
Lock screen support βœ… - - partial - -
Live or interactive wallpaper engine partial βœ… βœ… partial - -
Wallpaper Engine Workshop path partial βœ… - - - -
Local collections and personalization βœ… βœ… βœ… βœ… partial partial
Mobile/cloud account ecosystem - partial - βœ… - -
Open-source core βœ… - βœ… - - βœ…

Aura overlaps most with backiee for wallpaper browsing and with Lively/Wallpaper Engine for desktop personalization. The difference is that Aura is a playground of implementations: WinUI 3, WPF, and Python paths live together while sharing the same wallpaper-management idea.

The biggest gaps are a real live-wallpaper engine, cloud/mobile sync, a community gallery, and polished packaging across all three implementations. Lively and Wallpaper Engine are ahead on live/interactive wallpapers; backiee is ahead on consumer-ready wallpaper discovery.

πŸš€ Getting Started

Choose Your Implementation

Navigate to the respective directory:

  • WinUI 3: cd winui
  • WPF: cd wpf
  • Python: cd python

πŸ”¨ Building Each Implementation

🎨 WinUI 3 (Modern Windows App)

Prerequisites

  • Windows 10 version 17763 or higher
  • .NET 8.0 SDK
  • Windows App SDK 1.7+

Run Directly

cd winui
dotnet run

πŸ”₯ Hot Reload / Dev Mode (Recommended)

Since dotnet watch doesn't fully reload .cs file changes in WinUI 3, use the included dev.bat script instead. It acts like pnpm dev β€” automatically rebuilds and relaunches the app whenever it exits.

cd winui
.\dev.bat

Once the app is running, click the β†Ί (restart) button next to the "Next Gen Edition" badge in the bottom-right corner of the Platform Selection page. The app will exit and dev.bat will automatically rebuild and relaunch it with your latest changes.

Tip: Always use dev.bat during development instead of plain dotnet run.

Build Portable Versions

Self-Contained Portable Folder:

For x64 (64-bit Intel/AMD):

dotnet publish -c Release -p:Platform=x64 -r win-x64 --self-contained true

Output: bin\x64\Release\net8.0-windows10.0.19041.0\win-x64\publish\

For x86 (32-bit):

dotnet publish -c Release -p:Platform=x86 -r win-x86 --self-contained true

Output: bin\x86\Release\net8.0-windows10.0.19041.0\win-x86\publish\

For ARM64:

dotnet publish -c Release -p:Platform=ARM64 -r win-arm64 --self-contained true

Output: bin\ARM64\Release\net8.0-windows10.0.19041.0\win-arm64\publish\

Single EXE File (Self-Contained):

For x64:

dotnet publish -c Release -p:Platform=x64 -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:WindowsAppSDKSelfContained=true -p:UseWinUI=true

Output: bin\x64\Release\net8.0-windows10.0.19041.0\win-x64\publish\Aura.exe

For x86:

dotnet publish -c Release -p:Platform=x86 -r win-x86 --self-contained true -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:WindowsAppSDKSelfContained=true -p:UseWinUI=true

Output: bin\x86\Release\net8.0-windows10.0.19041.0\win-x86\publish\Aura.exe

For ARM64:

dotnet publish -c Release -p:Platform=ARM64 -r win-arm64 --self-contained true -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:WindowsAppSDKSelfContained=true -p:UseWinUI=true

Output: bin\ARM64\Release\net8.0-windows10.0.19041.0\win-arm64\publish\Aura.exe


πŸ–ΌοΈ WPF (Windows Presentation Foundation)

Prerequisites

  • Windows 7 SP1 or higher
  • .NET 8.0 SDK

Run Directly

cd wpf
dotnet run --project WallYouNeed.App

Build Portable Versions

Self-Contained (Any CPU):

dotnet publish WallYouNeed.App -c Release -r win-x64 --self-contained true

Output: WallYouNeed.App\bin\Release\net8.0-windows\win-x64\publish\

Single EXE:

dotnet publish WallYouNeed.App -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

Output: WallYouNeed.App\bin\Release\net8.0-windows\win-x64\publish\WallYouNeed.App.exe

For 32-bit: Replace win-x64 with win-x86 in the commands above.


🐍 Python (Cross-Platform)

Prerequisites

  • Python 3.8 or higher
  • pip

Setup

cd python
pip install -r requirements.txt

Run Directly

python gui.py

Build Portable EXE (Using PyInstaller)

Windows:

pip install pyinstaller
pyinstaller --clean --noconfirm Wall-You-Need.spec

Output: dist\Wall-You-Need.exe

Manual Build (Single EXE):

pyinstaller --onefile --windowed --name "Wall-You-Need" gui.py

Custom Build with Dependencies:

pyinstaller --onefile --windowed ^
  --add-data "utils.py;." ^
  --add-data "pexels.py;." ^
  --add-data "unsplash.py;." ^
  --add-data "wallpaper_engine.py;." ^
  --add-data "DepotDownloaderMod;DepotDownloaderMod" ^
  --name "Wall-You-Need" gui.py

πŸ“ Project Structure

aura/
β”œβ”€β”€ winui/          # WinUI 3 implementation (Modern Windows app)
β”‚   β”œβ”€β”€ Views/
β”‚   β”‚   β”œβ”€β”€ AlphaCoders/
β”‚   β”‚   └── Backiee/
β”‚   β”œβ”€β”€ Services/
β”‚   β”œβ”€β”€ Models/
β”‚   └── Aura.csproj
β”‚
β”œβ”€β”€ wpf/            # WPF implementation (Traditional Windows desktop)
β”‚   β”œβ”€β”€ WallYouNeed.App/
β”‚   β”œβ”€β”€ WallYouNeed.Core/
β”‚   β”œβ”€β”€ BackieeScraper/
β”‚   └── WallYouNeed.sln
β”‚
└── python/         # Python/Tkinter implementation (Cross-platform)
    β”œβ”€β”€ gui.py
    β”œβ”€β”€ utils.py
    β”œβ”€β”€ pexels.py
    β”œβ”€β”€ unsplash.py
    β”œβ”€β”€ wallpaper_engine.py
    β”œβ”€β”€ DepotDownloaderMod/
    └── requirements.txt

🧩 Technologies

WinUI 3

  • WinUI 3: Modern native UI framework with Fluent Design
  • Windows App SDK: Unified APIs for Windows apps
  • C# & .NET 8: Modern language features
  • XAML: Declarative UI
  • wpf-ui: UI component library
  • HtmlAgilityPack: Web scraping
  • Newtonsoft.Json: JSON handling
  • ImageSharp: Image processing

WPF

  • WPF: Windows Presentation Foundation
  • .NET 8: Latest framework
  • MVVM Pattern: CommunityToolkit.Mvvm
  • Modern WPF UI: Modern styling
  • MahApps.Metro: UI framework
  • LiteDB: Local database
  • Serilog: Logging framework

Python

  • Tkinter: Cross-platform GUI
  • PIL/Pillow: Image processing
  • requests: HTTP client
  • PyInstaller: Executable builder
  • threading: Async operations
  • Windows Registry: Native integration

οΏ½ Roadmap

  • Unified API: Shared backend service for all implementations
  • Widget Support: Desktop widgets for wallpaper previews
  • User Accounts: Cloud sync of collections and preferences
  • AI Generation: Generate custom wallpapers using AI
  • Enhanced Search: Advanced filtering and search
  • Mobile App: Android/iOS companion apps
  • macOS/Linux Support: Expand Python implementation
  • Performance: Further optimizations across all platforms

🀝 Contributing

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

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links

πŸ™ Acknowledgments


Built with ❀️ using WinUI 3 and Windows App SDK

Contributors

Contributors

About

A modern Windows wallpaper app with multi-source browsing, smart slideshows, history tracking, and desktop/lock screen automation.

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors