Skip to main content

A fast, native GUI over linux-wallpaperengine with per-screen assignment and playlist rotation

Project description

Wallpaper Engine Manager

Une petite GUI native (PySide6/Qt) au-dessus de linux-wallpaperengine. Elle fait ce que les frontends existants faisaient mal : gérer correctement une bibliothèque Steam sur un autre disque, transmettre le bon --assets-dir, et proposer des playlists tournantes par écran — le tout en restant fluide.

Testé sur KDE Plasma 6 / Wayland (CachyOS), mais ne dépend d'aucune API KDE.

Fonctionnalités

  • Détection auto de la bibliothèque (workshop/content/431960) même sur un autre disque — lit libraryfolders.vdf et résout les symlinks pour retrouver le dossier des assets.
  • Grille de vignettes, chargées en tâche de fond (fluide même à 500+ fonds).
  • Recherche par titre.
  • Filtres combinés : genre, type, évaluation d'âge (tout en local depuis project.json), résolution, et un filtre « Compatible écran » qui ne montre que les fonds au bon ratio pour l'écran sélectionné (idéal multi-écran / ultrawide). Tri par titre ou par taille.
  • Résolution via Steam : la résolution est un tag Workshop absent des fichiers locaux ; l'app la récupère depuis l'API publique Steam (sans clé), la met en cache (metadata.json) — instantané et hors-ligne ensuite. Bouton « Sync Steam » et sync auto au premier lancement.
  • Un process par écran : changer un écran ne redémarre pas les autres.
  • Assignation par écran : un fond fixe ou une playlist tournante.
  • Playlists créées par cases à cocher dans la grille, avec intervalle et ordre (séquentiel / aléatoire).
  • Import depuis Wallpaper Engine : récupère les playlists du config.json de WPE (extrait les IDs, ignore les chemins/moniteurs Windows non portables).
  • Propriétés par fond : bouton Propriétés… pour personnaliser un fond (couleurs, curseurs, cases à cocher, listes de choix). Les réglages sont enregistrés par fond et réappliqués à chaque lancement via --set-property ; si le fond est affiché, il se recharge aussitôt.
  • Transition sans coupure : le nouveau fond est affiché par-dessus l'ancien avant que celui-ci soit tué (pas de fondu alpha — le backend ne le permet pas — mais plus de flash du fond de bureau entre deux).
  • Barre système (systray) : fermer la fenêtre la réduit dans le tray ; la rotation continue en arrière-plan. Le menu de l'icône permet de changer la playlist de chaque écran, de vider un écran, de tout arrêter, et de rouvrir.
  • Démarrage avec la session : une case (ou l'entrée du menu tray) installe un lanceur autostart qui relance l'app dans le tray et restaure les fonds (rotation comprise) à l'ouverture de session.
  • Options : muet, FPS, durée de transition (ms).

Prérequis

  • linux-wallpaperengine installé et dans le PATH.
  • Wallpaper Engine (l'app Steam, app id 431960) installé, pour disposer des assets et des wallpapers du workshop.
  • Python ≥ 3.10 et PySide6 (installé automatiquement via pip).

Installation

Toute distribution (PyPI)

pipx install wpe-manager     # recommandé (environnement isolé)
# ou
pip install --user wpe-manager

Arch / CachyOS / dérivés (AUR)

paru -S wpe-manager          # ou : yay -S wpe-manager

Le paquet AUR tire le backend linux-wallpaperengine-git automatiquement.

Depuis les sources

pipx install .               # ou : pip install --user .
# ou sans installer :
python -m wpe_manager

Puis lance la commande :

wpe-manager

Utilisation

  1. Choisis un écran dans le menu en haut.
  2. Clique un fond (ou double-clic) → Fond sélectionné → écran pour un fond fixe.
  3. Pour une rotation : coche des fonds → Nouvelle (depuis cochés), nomme la playlist, règle intervalle + ordre, puis Playlist → écran.
  4. Vider l'écran / Tout arrêter au besoin.

Si la bibliothèque n'est pas trouvée automatiquement, bouton Chemins… pour la pointer à la main.

Fermer la fenêtre la réduit dans la barre système : la rotation continue. Clic sur l'icône pour rouvrir, clic droit → Quitter pour fermer réellement.

Fichiers de config

  • ~/.config/wpe-manager/config.json — chemins, muet, FPS, transition.
  • ~/.config/wpe-manager/state.json — assignations par écran (fond / playlist).
  • ~/.config/wpe-manager/playlists.json — playlists.
  • ~/.config/wpe-manager/engine.json — process backend en cours (par écran).
  • ~/.config/wpe-manager/metadata.json — cache des résolutions (Steam Workshop).
  • ~/.config/wpe-manager/properties.json — propriétés personnalisées par fond.

Autostart (restaurer les fonds à l'ouverture de session)

Le plus simple : coche Démarrer avec la session (barre du haut ou menu du tray). L'app écrit ~/.config/autostart/wpe-manager.desktop pour toi.

Sous le capot, l'entrée lance wpe-manager --daemon (alias historique : --autostart) : l'app démarre cachée dans la barre système, restaure les fonds sauvegardés et reprend la rotation.

Entrée dans le menu des applications

Coche Menu applications (barre du haut ou menu du tray) pour ajouter un lanceur dans le menu de ton bureau (~/.local/share/applications/) et ouvrir l'app comme n'importe quel programme. Fonctionne aussi bien depuis une installation pip/pipx que depuis les sources.

Compatibilité & limites connues

Cette app n'est qu'un frontend ; ce qui fonctionne dépend surtout du backend.

  • Backend requis : linux-wallpaperengine doit être installé et dans le PATH. Il est packagé sur l'AUR ; sur Debian/Fedora/etc. il faut le compiler depuis les sources.
  • Bureau : testé sur KDE Plasma / Wayland. Fonctionne sur les compositeurs qui supportent wlr-layer-shell (KWin, wlroots) et sous X11. GNOME Wayland (Mutter) n'implémente pas layer-shell → le backend ne peut pas y dessiner le fond ; c'est une limite du compositeur, pas de cette app.
  • Wayland : le fond est dessiné par-dessus le bureau → pas d'icônes ni de clic droit sur le bureau tant qu'un fond animé est actif (limite du backend).

Remerciements

Ce projet n'est qu'un frontend ; tout le rendu est assuré par Almamu/linux-wallpaperengine.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wpe_manager-0.5.0.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wpe_manager-0.5.0-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file wpe_manager-0.5.0.tar.gz.

File metadata

  • Download URL: wpe_manager-0.5.0.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for wpe_manager-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f9e1128ef31e7bd51a1a18fc1993568247cfab5c8cd7e6f1f86d27ef272b6afe
MD5 8d0419da054e2100d97787698bc1954e
BLAKE2b-256 df7bdbb433423ca478ebcfe2b2d1fa71bbae0554fba64656117f37386e4b6d00

See more details on using hashes here.

File details

Details for the file wpe_manager-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: wpe_manager-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for wpe_manager-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da7b6d5563e2a4a2e870798051edd659641496da522225ad8cc2577455b00c4b
MD5 ca230d15e9b64ec74238794bfdb3ab68
BLAKE2b-256 a0480418ccd4a916bc82f253b73d9cc3116b6e1d81142ace825fb9957f0b370e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page