L’une des premières personnalisations que tout nouvel utilisateur d’un système d’exploitation aime faire est de définir son propre fond d’écran! Oui, cela peut aussi être fait dans Ubuntu. Tant que l'utilisateur s'en tient aux quelques fonds d'écran intégrés à Ubuntu, cela ne devrait pas poser de problème. L'utilisateur doit donc jouer dans le bac à sable pour éviter les maux de tête inutiles. Dès que l’utilisateur commence à sélectionner ses propres images ou l’un des fonds d’écran librement disponibles sur le Web, la situation se complique.
Problème n ° 1:
/home/user/Desktop
./home/user/Desktop
vers /home/user/Pictures/Wallpapers
, et le fichier est défini comme papier peint du bureau.Pourquoi le fichier doit-il être copié? Pour la sécurité? Dans le cas où le fichier original est déplacé ou supprimé?
Problème n ° 2:
/home/user/Pictures/Wallpapers
.Pourquoi est-il nécessaire de créer des dupes pour définir un certain fichier comme fond d'écran?
Problème n ° 3:
/home/user/Pictures/Wallpapers
et supprime tous les fichiers qu'il contient./home/user/Desktop
, sélectionne bird.jpg et clique sur le bouton Ouvrir./home/user/Pictures/
et trouve un dossier vide (à l'exception d'un sous-dossier)./home/user/Pictures/Wallpapers
et trouve un dossier vide.Pourquoi le fichier image est-il ajouté à la liste "Dossier d'images" et non à la liste "Fonds d'écran"?
Si le fichier est ajouté à la liste "Dossier Images", pourquoi le dossier /home/user/Pictures
est-il vide? Si "Dossier Images" représente un nom de dossier, quel est son chemin de recherche?
Problème n ° 4:
Ce que je voudrais faire est de désigner un dossier spécifique dans lequel je conserverai toutes les images que je veux pouvoir sélectionner et utiliser comme fond d'écran.
La raison pour laquelle je me limite à un dossier est due aux problèmes que j'ai décrits ci-dessus. Je suis disposé à le faire de cette façon afin d'éviter les dupes, car je change habituellement le fond d'écran en trouvant le fichier que je veux utiliser. Je ne cherche pas d'abord la boîte de dialogue des paramètres appropriés, puis le fichier. (Je suppose que je le fais mal du point de vue des évangélistes d'Ubuntu.) J'utilise ensuite le menu contextuel du clic de la souris pour faire exactement ce que je veux, et Ubuntu a cette option, mais c'est mal implémenté.
Je suis donc disposé à remédier à cette lacune et à utiliser la boîte de dialogue Apparence (la "bonne" manière) et un dossier spécifique dans lequel je peux sélectionner des fonds d'écran à l'aide de la boîte de dialogue. Mais même pour que cela fonctionne, je dois me débarrasser du problème 4, dans lequel la boîte de dialogue Apparence ne souhaite pas afficher les fichiers ou les emplacements que j'ai choisis précédemment, afin de pouvoir s'afficher sous forme de liste.
Comment gérez-vous cela? Il suffit de coller aux fonds d'écran par défaut ??? ...
Il y a différentes forces en jeu. Le moyen canonique de modifier les fonds d'écran consiste à utiliser le schéma et la clé org.gnome.desktop.background picture-uri
. La partie importante est que l'image doit être un fichier local.
En cas de problème n ° 4, le schéma est modifié directement; notez que toutes les options disponibles dans les paramètres d’apparence proviennent de dossiers locaux.
en cas d’autres problèmes que vous avez spécifiés, cela se fait par l’intermédiaire de Nautilus, qui a la possibilité d’accéder aux disques partagés en réseau, ce qui signifie que l’utilisateur peut tenter de définir une image d’arrière-plan à partir de là. Eh bien, rappelez-vous ce que j'ai dit - l'image doit être locale? C'est la raison pour laquelle Nautilus va copier le fichier.
Le code exact pour cela est défini dans le fichier nautilus-view.c
static void
action_set_as_wallpaper_callback (GtkAction *action,
NautilusView *view)
{
GList *selection;
/* Copy the item to Pictures/Wallpaper since it may be
remote. Then set it as the current wallpaper. */
Comment travailler autour de ça? Il n'y a vraiment aucun moyen car c'est codé en dur dans le nautile. Vous voudrez peut-être déposer une demande de fonctionnalité auprès des développeurs ou modifier le source vous-même.