Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:j5012:brouillons:mes_nautilus_scripts [Le 06/01/2017, 21:50]
J5012 [Explications de code]
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 =====
Ligne 17: Ligne 133:
 <​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" #
 # #
-# Si l'​argument est vide :+# ************************************************************** 
 +# 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 # - le clic droit ne sélectionne ni dossier ni fichier
 # - comportement plus valide avec xenial # - comportement plus valide avec xenial
Ligne 33: Ligne 166:
     else     else
 # #
-# L'​argument n'est pas vide :+# L'​argument ​$1 n'est pas vide :
 # - le clic droit sélectione un dossier ou un fichier # - le clic droit sélectione un dossier ou un fichier
 # - la variable filetype enregistre le type de l'​argument # - la variable filetype enregistre le type de l'​argument
Ligne 44: Ligne 177:
 # - le chemin de l'​argument sélectionné est reconstitué # - le chemin de l'​argument sélectionné est reconstitué
 # - avec la localisation complète et courante du dossier sélectionné # - avec la localisation complète et courante du dossier sélectionné
-# - et de son nom, débarrassé de la notation shell file://+# - 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
 # #
Ligne 53: Ligne 189:
 # - le chemin de l'​argument sélectionné est reconstitué # - le chemin de l'​argument sélectionné est reconstitué
 # - avec seulement la localisation complète et courante du fichier sélectiionné # - avec seulement la localisation complète et courante du fichier sélectiionné
-# - débarrassé de la notation shell file://+# - débarrassé de la notation shell "file://"
 # #
-    ​wdir=${NAUTILUS_SCRIPT_CURRENT_URI#​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
Ligne 64: Ligne 205:
 # tous les échappements shell %20 deviennent des espaces " " # tous les échappements shell %20 deviennent des espaces " "
 # #
-wdir=${wdir//​%20/​ }+##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 # Le contenu de la variable $wdir
Ligne 70: Ligne 214:
 # est protégé par des guillemets # 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>​
  • utilisateurs/j5012/brouillons/mes_nautilus_scripts.1483735832.txt.gz
  • Dernière modification: Le 06/01/2017, 21:50
  • par J5012