Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
utilisateurs:j5012:brouillons:mes_nautilus_scripts [Le 02/01/2017, 20:34] J5012 créée script nautilus pyrenamit |
utilisateurs:j5012:brouillons:mes_nautilus_scripts [Le 10/03/2021, 13:20] (Version actuelle) J5012 ajout nautilus script gmplayerit |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
* Lisez la documentation [[https://help.ubuntu.com/community/NautilusScriptsHowto|NautilusScriptsHowto]] | * Lisez la documentation [[https://help.ubuntu.com/community/NautilusScriptsHowto|NautilusScriptsHowto]] | ||
* Lisez la documentation [[http://www.tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html|Bash : Guide pour debutant]] et notamment sa section 10.3.3 | * Lisez la documentation [[http://www.tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html|Bash : Guide pour debutant]] et notamment sa section 10.3.3 | ||
+ | |||
+ | ===== Un script pour lire rapidement et lestement audio & video ===== | ||
+ | |||
+ | Il s'agit du programme ''gmplayer'' installé par le paquet **[[apt>mplayer-gui]]** : | ||
+ | * Allez dans le dossier des scripts nautilus | ||
+ | * Créez-y le fichier //gmplayerit// ou //mplayerit//, au choix | ||
+ | * Rendez le exécutable, pour ne pas avoir à le faire après | ||
+ | * Éditez-le et copiez-collez-y le code suivant | ||
+ | |||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | # gmplayer == reglages independants de mplayer et de gnome-player | ||
+ | # gmplayer donne un volume zero par defaut : modifier le fichier skin de configuration pour l'option hpotmeter de 0 à 100 | ||
+ | gmplayer "$@" | ||
+ | </code> | ||
+ | |||
+ | <note important>Comme dit dans le commentaire du script, il faut modifier le fichier ''skin'' de configuration en ne laissant aucune ligne desactivée ou commentée</note> | ||
+ | |||
+ | ==== Exemple de configuration avec la skin Clearplayer ==== | ||
+ | |||
+ | * Installez si besoin le paquet **[[apt>mplayer-skins]]** | ||
+ | * Copiez dans votre dossier personnel la skin ''Clearplayer'' | ||
+ | <code>cp -R /usr/share/mplayer/skins/clearplayer $HOME/.mplayer/skins/</code> | ||
+ | |||
+ | La skin de configuration ''Clearplayer'' se présente ainsi : | ||
+ | <code> | ||
+ | section = movieplayer | ||
+ | |||
+ | window = main | ||
+ | |||
+ | decoration = enable | ||
+ | base = main, 0, 0 | ||
+ | |||
+ | button = button_prev, 2, 48, 39, 42, evPrev | ||
+ | button = button_rewind, 38, 48, 39, 42, evBackward10sec | ||
+ | button = button_pause, 74, 48, 39, 42, evPause | ||
+ | button = button_play, 110, 48, 39, 42, evPlay | ||
+ | button = button_stop, 146, 48, 39, 42, evStop | ||
+ | button = button_forward, 182, 48, 39, 42, evForward10sec | ||
+ | button = button_next, 218, 48, 39, 42, evNext | ||
+ | button = button_load, 254, 48, 39, 42, evLoad | ||
+ | |||
+ | button = mute, 304, 62, 10, 17, evMute | ||
+ | |||
+ | potmeter = waves, 11, 0, 315, 63, 6, 14, evSetVolume | ||
+ | |||
+ | hpotmeter = pos, 27, 15, NULL, 100, 0, 40, 30, 336, 15, evSetMoviePosition | ||
+ | hpotmeter = vol, 18, 14, NULL, 100, 0, 331, 64, 45, 14, evSetVolume | ||
+ | |||
+ | font = font, font | ||
+ | |||
+ | dlabel = 6, 10, 367, 0, font, "$o " | ||
+ | dlabel = 6, 31, 40, 0, font, "Time:" | ||
+ | dlabel = 6, 98, 152, 0, font, "$1 / $6" | ||
+ | |||
+ | end | ||
+ | |||
+ | window = sub | ||
+ | |||
+ | base = sub, -1, -1 | ||
+ | background = 246, 246, 246 | ||
+ | |||
+ | end | ||
+ | |||
+ | end | ||
+ | </code> | ||
+ | |||
+ | Les lignes à modifier : | ||
+ | * supprimer absolument <del>//potmeter = waves, 11, 0, 315, 63, 6, 14, evSetVolume//</del>. | ||
+ | * modifier la valeur ''0'' dans la ligne //hpotmeter = vol, 18, 14, NULL, 100, ''0'', 331, 64, 45, 14, evSetVolume// , c'est une valeur en pourcentage, donnez-lui un incrément de 10, 20, 30 … 100. | ||
+ | * modifier absolument la ligne //window = sub// en ''window = video'' | ||
+ | |||
+ | La skin de configuration correcte : | ||
+ | <code> | ||
+ | section = movieplayer | ||
+ | |||
+ | window = main | ||
+ | |||
+ | decoration = enable | ||
+ | base = main, 0, 0 | ||
+ | |||
+ | button = button_prev, 2, 48, 39, 42, evPrev | ||
+ | button = button_rewind, 38, 48, 39, 42, evBackward10sec | ||
+ | button = button_pause, 74, 48, 39, 42, evPause | ||
+ | button = button_play, 110, 48, 39, 42, evPlay | ||
+ | button = button_stop, 146, 48, 39, 42, evStop | ||
+ | button = button_forward, 182, 48, 39, 42, evForward10sec | ||
+ | button = button_next, 218, 48, 39, 42, evNext | ||
+ | button = button_load, 254, 48, 39, 42, evLoad | ||
+ | |||
+ | button = mute, 304, 62, 10, 17, evMute | ||
+ | |||
+ | hpotmeter = pos, 27, 15, NULL, 100, 0, 40, 30, 336, 15, evSetMoviePosition | ||
+ | hpotmeter = vol, 18, 14, NULL, 100, 90, 331, 64, 45, 14, evSetVolume | ||
+ | |||
+ | font = font, font | ||
+ | |||
+ | dlabel = 6, 10, 367, 0, font, "$o " | ||
+ | dlabel = 6, 31, 40, 0, font, "Time:" | ||
+ | dlabel = 6, 98, 152, 0, font, "$1 / $6" | ||
+ | |||
+ | end | ||
+ | |||
+ | window = video | ||
+ | |||
+ | base = sub, -1, -1 | ||
+ | background = 246, 246, 246 | ||
+ | |||
+ | end | ||
+ | |||
+ | end | ||
+ | </code> | ||
+ | |||
+ | <note>Sélectionnez la skin ''Clearplayer'' dans le skin-browser de mplayer si vous ne l'avez pas déja fait.</note> | ||
+ | |||
+ | → Plus d'infos chez **Ask Ubuntu** [[https://askubuntu.com/a/993241|Default audio volume with gmplayer]] | ||
===== Un script pour renommer en masse avec pyrenamer ===== | ===== Un script pour renommer en masse avec pyrenamer ===== | ||
* Installez le paquet **[[apt>pyrenamer]]** | * Installez le paquet **[[apt>pyrenamer]]** | ||
- | * Creez le fichier //pyrenamit// | + | * Allez dans le dossier des scripts nautilus |
- | * Rendez le executable | + | * Créez-y le fichier //pyrenamit// ou //pyrenamall//, au choix |
- | * Editez le et copiez collez-y le code suivant | + | * Rendez le exécutable, pour ne pas avoir à le faire après |
+ | * Éditez-le et copiez-collez-y le code suivant | ||
<code> | <code> | ||
#!/bin/bash | #!/bin/bash | ||
- | #Lance l'application Pyrenamer | + | # |
+ | # Lance l'application Pyrenamer | ||
# dans le dossier selectionné | # dans le dossier selectionné | ||
# ou dans le dossier du fichier selectionné. | # ou dans le dossier du fichier selectionné. | ||
# | # | ||
- | # Nautilus "Renommer en masse" Script # | + | # Nautilus Script "Renommer en masse" # |
+ | # | ||
+ | # ************************************************************** | ||
+ | # NB : | ||
+ | # Il semble qu'il y ait un bug entre bash, gtk, python | ||
+ | # depuis Ubuntu Xenial : | ||
+ | # - si le script lance directement la commande "pyrenamer" | ||
+ | # - le passage de l'argument $wdir ne se fait pas. | ||
+ | # Résolu temporairement avec la commande "bash -c" | ||
+ | # | ||
+ | # # après une certaine mise à jour proche | ||
+ | # # d'un nouveau noyau, le passage d'argument | ||
+ | # # à pyrenamer fonctionne de nouveau sans utiliser | ||
+ | # # la commande : bash -c → pyrenamer "$wdir" | ||
+ | # ******************************************************************* | ||
+ | # | ||
+ | # Debut de programme | ||
+ | # | ||
+ | # Si l'argument $1 est vide : | ||
+ | # - le clic droit ne sélectionne ni dossier ni fichier | ||
+ | # - comportement plus valide avec xenial | ||
+ | # - pyrenamer s'ouvre par défaut dans $HOME | ||
+ | # - on fait ouvrir pyrenamer dans le dossier courant du clic "vide" | ||
# | # | ||
if [ "$1" = "" ];then | if [ "$1" = "" ];then | ||
wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://} | wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://} | ||
else | else | ||
+ | # | ||
+ | # L'argument $1 n'est pas vide : | ||
+ | # - le clic droit sélectione un dossier ou un fichier | ||
+ | # - la variable filetype enregistre le type de l'argument | ||
+ | # - avec seulement la note "directory" ou "file" | ||
+ | # | ||
filetype=$(file "$1") | filetype=$(file "$1") | ||
filetype=${filetype##*: } | filetype=${filetype##*: } | ||
- | | + | # |
+ | # La variable filetype enregistre le type "directory" : | ||
+ | # - le chemin de l'argument sélectionné est reconstitué | ||
+ | # - avec la localisation complète et courante du dossier sélectionné | ||
+ | # - et de son nom, débarrassé de la notation shell "file://" | ||
+ | # | ||
if [ "$filetype" = "directory" ];then | if [ "$filetype" = "directory" ];then | ||
- | wdir="${NAUTILUS_SCRIPT_CURRENT_URI#file://}/$1" | + | # #wdir="${NAUTILUS_SCRIPT_CURRENT_URI#file://}/$1" |
+ | ## je me suis rendu compte que puisque $1 etait un dossier, | ||
+ | ## on pouvait directementl'utiliser comme argument | ||
+ | wdir="$1" | ||
else | else | ||
- | wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://} | + | # |
+ | # La variable filetype enregistre le type "file" : | ||
+ | # - le chemin de l'argument sélectionné est reconstitué | ||
+ | # - avec seulement la localisation complète et courante du fichier sélectiionné | ||
+ | # - débarrassé de la notation shell "file://" | ||
+ | # | ||
+ | ## #wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://} | ||
+ | ## | ||
+ | ## je me suis rendu compte que c'était la variable de zenity | ||
+ | ## qui n'encodait pas les caractères accentués. | ||
+ | ## la commande : pwd permet d'associer le chemin directement | ||
+ | wdir=$(pwd "$1") | ||
fi | fi | ||
fi | fi | ||
- | wdir=${wdir//%20/ } | + | # |
+ | # Pour tout contenu de localisation complète | ||
+ | # pour le dossier de travail ou d'exécution (wdir = working directory) | ||
+ | # la variable $wdir est débarrassée de la notation shell du symbole "espace" | ||
+ | # tous les échappements shell %20 deviennent des espaces " " | ||
+ | # | ||
+ | ##wdir=${wdir//%20/ } | ||
+ | ## comme le passage d'argument n'utilise plus aucune variable zenity, | ||
+ | ## la problematique de non encodage des espaces et des caractères accentués | ||
+ | ## disparaît ! | ||
+ | # | ||
+ | # Le contenu de la variable $wdir | ||
+ | # avec ses espaces et ses caractères accentués | ||
+ | # est protégé par des guillemets | ||
+ | # | ||
+ | # Pour parer au bug de passage des arguments, | ||
+ | # le script lance "pyrenamer" en console avec bash : | ||
+ | # bash est lancé et exécute pyrenamer avec l'argument $wdir | ||
+ | # entre guillemets. | ||
+ | # | ||
+ | # Insérer cette ligne de code zenity, | ||
+ | # pour montrer que l'argument $wdir | ||
+ | # sera utilisé correctement avec espaces | ||
+ | # et caractères accentués. | ||
+ | # zenity --info --text="pyrenamer '$wdir'" | ||
+ | ##bash -c "pyrenamer '$wdir'" | ||
+ | ## comme rajouté dans les commentaires | ||
+ | ## du début de script, le passage d'argument | ||
+ | ## fonctionne en appelant directement le | ||
+ | ## programme. | ||
pyrenamer "$wdir" | pyrenamer "$wdir" | ||
</code> | </code> | ||
Ligne 47: | Ligne 241: | ||
* le script prend en compte les espaces et les caracteres accentués | * le script prend en compte les espaces et les caracteres accentués | ||
+ | __Lire les commentaires du code__ | ||