Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 14 utilisateurs en ligne, consultez le détail
Auteur Message
Shaika-Dzari
#0 Message posté le : 19-01-2007 à 20:11:09


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 27-07-2004
Nombre de messages : 1734
Hello!

J'ai fait ce script pour Fvwm.
Ce script génère un menu constitué de miniature de vos wallpapers.
Lorsque vous en sélectionner un, il est chargé avec Esetroot.

Ce script doit êtres placé dans votre ~/.fvwm, les dossiers qui accueil les miniatures doivent aussi être crées à la main dans ~/.fvwm/icons/wallpapers.

Le dossier ~/wallpapers est utilisé. À vous de modifier le script si votre dossier de fond d'écran porte un nom différent.

De plus, vous devez ajouté cette fonction dans votre .fvwmrc:
DestroyFunc FvwmChangeBackground

AddToFunc   FvwmChangeBackground

+ I Exec Esetroot -scale $[fvwm_wallpapers]/$0


Jetez un oeil à l'entête du script pour quelques détails de plus.

Le script:
#!/bin/sh

#

# ScriptFvwmWallpapers

# Menus composés de wallpapers pour fvwm

# Shaika-Dzari <shaikdzari@gmail.com> <www.guidelinux.org>

#

# Vous devez activer FvwmCommand pour la lecture des menus.

# Ajoutez ceci à votre fonction de démarrage de Fvwm

# + I Module FvwmCommandS

#

# De plus, une entrée de ce style doit être ajouté à votre menu:

# + "Wallpapers%mode.png%" Popup MenuFvwmWallpapers

#



# On efface l'ancien menu global

rm ~/.fvwm/MenuFvwmWallpapers

# On recrée les entêtes

echo "DestroyMenu MenuFvwmWallpapers" > ~/.fvwm/MenuFvwmWallpapers

echo "AddToMenu MenuFvwmWallpapers \"Wallpapers%mode.png%\" Title" >> ~/.fvwm/MenuFvwmWallpapers

# Commande pour recréer le menu

echo "AddToMenu MenuFvwmWallpapers \"ScriptFvwmWallpapers.sh%mode.png%\" Exec exec sh ~/.fvwm/ScriptFvwmWallpapers.sh" >> ~/.fvwm/MenuFvwmWallpapers



for dossier in `ls ~/wallpapers/`; do

	# On efface les anciennes miniatures

	rm ~/.fvwm/icons/wallpapers/$dossier/*.*

	# On efface les anciens menus ( $dossier est un fichier texte ici )

	rm ~/.fvwm/$dossier

	# Création des entêtes du menu ( $dossier est un fichier texte ici )

	echo "DestroyMenu $dossier" > ~/.fvwm/$dossier

	echo "AddToMenu $dossier \"Wallpapers\" Title" >> ~/.fvwm/$dossier

	# On convertie les images des sous-dossiers

	for images in `ls ~/wallpapers/$dossier`; do

		nom=`basename $images`

		chemin="~/wallpapers/$dossier"

		case $images in

		*.png)

			convert -scale 64 ~/wallpapers/$dossier/$images ~/.fvwm/icons/wallpapers/$dossier/$nom

		;;

		*.jpg)

			convert -scale 64 ~/wallpapers/$dossier/$images ~/.fvwm/icons/wallpapers/$dossier/`basename $images .jpg`.png

		;;

		esac

		echo "AddToMenu $dossier \"$nom%wallpapers/$dossier/$nom%\" FvwmChangeBackground \"$dossier/$nom\"" >> ~/.fvwm/$dossier

	done

	# Ajout du sous-menu dans MenuFvwmWallpapers

	echo "AddToMenu MenuFvwmWallpapers \"$dossier%mode.png%\" Popup $dossier" >> ~/.fvwm/MenuFvwmWallpapers

	# Lecture du sous-menu à l'aide de FvwmCommand

	FvwmCommand "Read $dossier"

done



# Lecture finale de MenuFvwmWallpapers

FvwmCommand "Read MenuFvwmWallpapers"


Screenshot:


N'hésitez pas à modifier le tout. Je ne suis vraiment pas un spécialiste du bash et il est surement possible d'optimiser ça.

@+

-------------------------------------
[root@darkside shaika-dzari]#
http://www.4nakama.net
Guimauve2
#1 Message posté le : 24-01-2007 à 05:39:14


Naboo


Forum : Inscrit
Association :
Arrivé(e) le : 22-07-2003
Nombre de messages : 2128
Bravo, beau script !

Et beau wallpaper !

-------------------------------------
GNU/Linux? Il y a moins bien, mais c'est plus cher!

Mon blog (pas très souvent updaté, mais tout de même...) : http://guimauve2.blogspot.com/
Shaika-Dzari
#2 Message posté le : 25-01-2007 à 02:13:13


Hobbit


Forum : Inscrit
Association :
Arrivé(e) le : 27-07-2004
Nombre de messages : 1734
Guimauve2 a écrit :


Bravo, beau script !

Et beau wallpaper !


Merci!

Utilises-tu fvwm?

@+

-------------------------------------
[root@darkside shaika-dzari]#
http://www.4nakama.net