Skip to content

Obstruction-Core/LiveWall_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 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.

🙏 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.

About

LiveWall Engine lets you preview and apply dynamic color themes based on your wallpaper – images, GIFs, or even MP4 videos. Built on matugen and PyQt6, it brings a professional, native GUI to hyprland like tiling window managers.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages