Skip to content

Latest commit

 

History

History
126 lines (96 loc) · 4.84 KB

File metadata and controls

126 lines (96 loc) · 4.84 KB

🎨 LiveWall Engine

The definitive dynamic theme manager for Hyprland. LiveWall Engine bridges the gap between high-fidelity media and system-wide aesthetics. Preview and apply Material You color schemes derived from any source: 4K MP4s, animated GIFs, or high-res stills.

License Python PyQt6 Hyprland Status


Warning

COMPOSITOR COMPATIBILITY This engine is strictly optimized for Hyprland and the illogical-impulse (end-4) dotfile architecture.

While it uses standard Python/PyQt6, the application logic directly modifies specific JSON structures used by quickshell. If you are using Niri, KDE, GNOME, or other WMs, please back up your configurations before use, as stability on these platforms is currently experimental.


📖 Table of Contents


✨ Features

🎬 Professional-Grade Preview

  • Native HW Acceleration – Real-time playback for MP4, MKV, and WebM directly within the GUI using QtMultimedia.
  • Dynamic GIF Rendering – Smooth, infinite looping via QMovie for animated wallpapers.
  • Aspect-Aware Scaling – Intelligent UI that scales previews without distorting the original media's ratio.

🎨 Advanced Matugen Logic

  • 9 Specialized Schemes – Full access to scheme-content, expressive, fidelity, fruit-salad, monochrome, neutral, rainbow, tonal-spot, and vibrant.
  • Palette Inspector – Visual swatches show the exact HEX values generated by the algorithm.
  • Instant Clipboard – Click any swatch to instantly copy the HEX code for manual CSS/Config tweaks.

🔄 Atomic State & Safety

  • Pre-Flight Backups – Automatically snapshots config.json before every theme application.
  • One-Click Rollback – Instantly restores the previous wallpaper, Light/Dark mode, and color scheme if the result isn't perfect.

🖼️ Preview

You.can.select.gifmp4.1.mp4

📦 Requirements

Dependency Purpose Installation (Arch)
Python 3.10+ Script runtime sudo pacman -S python
PyQt6 GUI Framework pip install PyQt6
matugen Theme Engine yay -S matugen
ffmpeg Media Processing sudo pacman -S ffmpeg
mpvpaper Video Wallpaper sudo pacman -S mpvpaper
GStreamer Preview Backend sudo pacman -S gst-plugins-good gst-libav

🚀 Installation

  1. Clone the repository
    git clone https://github.com/Obstruction-Core/LiveWall_engine.git
    cd LiveWall_engine
    
  2. Install Python dependencies
pip install PyQt6
  1. Launch the Engine
python livewall_app.py

🔌 Integration with illogical-impulse

To launch LiveWall directly from your WallpaperSelector.qml:

IconToolbarButton {
    text: "rocket_launch"
    toolTipText: "Open LiveWall Engine"
    onClicked: {
        Quickshell.exec(["python3", "/home/" + String.getenv("USER") + "/path/to/livewall_app.py"])
        GlobalStates.wallpaperSelectorOpen = false;
    }
}

🛠️ Troubleshooting

  • Media Won't Play: Ensure gst-plugins-good and gst-libav are installed.
  • Colors Not Applying: Verify matugen is in your $PATH.
  • If you face the error FileNotFoundError: [Errno 2] No such file or directory: '/home/user/.config/livewall/ livewall.log' apply this in your terminal to create that folder
  • mkdir -p ~/.config/livewall
    sudo chown -R $USER:$USER ~/.config/livewall

🙏 Acknowledgements

  • end-4 – For the illogical-impulse dotfiles and architectural inspiration.
  • InioX – For the powerful matugen extraction tool.
  • The Hyprland Community – For the best tiling window manager experience.

🌐 External Links

Explore the ecosystem that makes this project possible:

📄 License

Distributed under the MIT License.