Fichiers de configuration de Mate-screensaver

Je n’arrive pas à trouver l’emplacement du fichier de configuration de mate-screensaver sur ma Debian Buster (avec le bureau Mate évidemment).

L’économiseur d’écran de Mate a une option que j’aime beaucoup, alterner des images qu’il prend dans le répertoire « Images ».
L’inconvénient est qu’il ne semble pas y avoir moyen, via l’interface GUI de gestion des préférences, de préciser un autre répertoire où prendre ces images, et que lorsqu’il prend les images dans le dossier ~/Images, il va prendre aussi dans les sous-dossiers (comme les captures d’écran par exemple).

Je voudrais modifier ce comportement mais je n’y arrive pas ?

Créer un lien symbolique vers le chemin absolu du répertoire désiré ? (après avoir renommé/déplacé un éventuel dossier é /images ).
Cela ne fait que repousser le problème si le dossier images était utilisé par un gestionnaire de fichiers :slight_smile: Les subtilités de ces environnements de bureau, ce n’est pas vraiment mon truc.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

Oui effectivement, le problème est que le dossier Images est utilisé par divers trucs déjà et c’est assez pratique donc je voudrais éviter d’avoir à tout changer à ce niveau.

A mon avis cela peut être mis n’importe où, il suffit de s’inspirer de leur exemple cosmos qui est en :
/usr/share/backgrounds/cosmos
Je viens de copier ce répertoire en ~/tmp et cela fonctionne très bien
A part çà le fichier de config est :
~/.config/mate/backgrounds.xml
oups, j’ai cherché le fichier de config de bacground, mais le principe doit être le même, je suppose.
Une astuce tordue consiste à bricoler le fameux répertoire cosmos pour pointer n’importe où :

Un peu plus compliqué :grinning: :

Solution simple :
créer un lanceur (avec pluma)
/home/mon_nom/.local/share/applications/screensavers/mon_slide.desktop
qui contient, par exemple :

[Desktop Entry]
Name=mon_slide
Comment=Display a slideshow of pictures in /home/mon_nom/tmp
Exec=/usr/lib/mate-screensaver/mate-screensaver/slideshow --location=/home/mon_nom/tmp
TryExec=/usr/lib/mate-screensaver/mate-screensaver/slideshow
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver;
Keywords=MATE;screensaver;slideshow;mon_slide;
OnlyShowIn=MATE;
Name[fr_FR]=mon_slide

et les images stockées dans ~/tmp vont apparaitre comme une possibilité de slide dans la configuration de screensaver.

Je me suis inspiré du lanceur associé au fameux répertoire cosmos fourni par mate.

Merci.

Mais le fichier

est celui des fonds d’écran, pas du screensaver.
Il contient des liens vers des images, mais aussi un lien vers un fichier xml qui lui permet de référencer plusieurs photos :

<filename>/usr/share/backgrounds/cosmos/background-1.xml</filename>

Le fichier xml en question contient des liens vers des images spécifiques, et des transitions/durées d’affichage pour chaque image.
Donc pas forcément ce que je veux puisque le but est que les images soient prises automatiquement (i.e qu’il y aie juste à ajouter les images dans le répertoire source, pas à modifier le script).
J’imagine que le fichier de config de screensaver qui source le répertoire image doit être du même genre ?
Donc en ajoutant un lien vers un pas_repertoire_images.xml ça devrait marcher ?

Mais je ne trouve toujours pas où est ce fichier de configuration…

Ton script est une bonne idée aussi, je suppose.
Si tu as le temps, je veux bien une explication de sa syntaxe (je ne reconnais aucune commande même si globalement je comprends ce qu’il fait; c’est quoi comme langage ?).

Je trouve ça (je ne sais pas pourquoi je ne l’avais pas vu avant quand j’avais fait une recherche sur DDG) qui dit que ce n’est pas un fichier .xml mais
/usr/share/applications/screensavers/personal-slideshow.desktop

Fichier qui a la même syntaxe que ton script, d’ailleurs. Par contre le mien n’a aucune référence au fichier source (pas d’option --location) ce qui me paraît étrange, on dirait que le binaire (j’imagine, vu qu’il est illisible avec vim) slideshow contient le lien vers le fichier images (xdg -quelque chose) en dur : c’est incroyable comme mauvaise pratique ?

Et ce qui est encore plus débile, c’est que /usr/share/applications/screensavers/personal-slideshow.desktop est un fichier système, donc pas configurable par utilisateur ?

Ou alors y’a un fichier de configuration spécifique à l’utilisateur que je n’ai pas trouvé ?
Mais l’article que je mettais en lien n’en parle pas…

Ce « script » est un lanceur d’application, en fait un fichier texte qui fait le lien entre l’environnement de bureau et des applications que l’on peut lancer à partir de menus ou d’icones du bureau. Voir :
( https://developer.gnome.org/integration-guide/stable/desktop-files.html.fr )
Vexé d’avoir confondu background et screensaver je me suis demandé comment était construit la configuration de ce dernier. Je croyais que c’était via un fichier xml planqué quelque part, mais ce n’est pas le cas.
J’ai regardé comment était construit le lanceur « Cosmos » qui est fourni dans
/usr/share/applications/screensavers/cosmos-slideshow.desktop
La philosophie Linux est que l’on retrouve dans .local/share/applications une architecture qui ressemble à /usr/share/applications pour les lanceurs appartenant à un utilisateur particulier.
J’ai donc créé screensavers dans .local/applications et recopié le lanceur cosmos.desktop qu’il m’a suffit de modifier pour qu’il pointe vers mon répertoire tmp où j’ai mis des images.

C’est souvent comme ça que je procède mais j’aimerais comprendre dans ce cas en quel langage est écrit ce truc ?

Par ailleurs en rajoutant dans /usr/share/applications/screensavers/personal-slideshow.desktopla précision --location=/home/iutech/Images/Bellesà la fin de la ligne Exec=/usr/lib/mate-screensaver/slideshow ça a marché.

L’inconvénient bien sûr est que c’est en dur dans le fichier global, et non pas dans la configuration de chaque utilisateur.

C’est le défaut.
Pour le « langage », voir le lien que j’ai donné vers la doc gnome. Ce n’est pas un langage, un simple énoncé de commande que l’on peut passer dans un terminal. C’est une sorte de lien graphique vers commandes du shell.

1 J'aime

Pour info mate-screensaver affiche une image différente sur chaque écran (lorsqu’on en a plusieurs), je trouve ça très sympa…
(jamais testé les autres genre xscreensaver sur un multi-écrans donc je ne sais pas si c’est particulier à mate-screensaver)