31/10/08

firefox-url (script bash/osascript)

Terminal

Un petite fonction bash, pouvant être utilisée comme un script, ou dans un bash_aliases[1], pour récupérer l'adresse de la page en cours de consultation dans Firefox, grâce à AppleScript. Cette commande peut être utile pour, par exemple, utiliser plus aisément des scripts comme youtube-dl ou dailymotion-dl[2].

On pourra aussi installer, puisque ce n'est pas le cas par défaut sous Mac OS X, bash-completion, à l'aide de DarwinPorts[3][4] par exemple ; ce qui est quand même plus pratique pour les noms de commandes plus ou moins longs :wink:.

#!/bin/bash
# Time-stamp: <2008-10-29 19:13:45 (blogosx.homeunix.org)>
 
function firefox-url () {
    function pidof () { 
	echo $(ps axc | awk "{if (\$5==\"$1\") print \$1}"| tr '\n' ' ') >&1
    }
 
    function applescript-firefox-url () {
	local cmd="$(cat << EOF
if ((count of windows of application "Minefield") > 0) then
	tell application "Minefield" to return («class curl» of window 1)
end if
EOF
)"
	local url="$(osascript -e "$cmd")"
	printf "%s" "$url" >&1
    }
    
    function main () {
	local msg_e='Error: Firefox is not running'
 
	[[ -n "$(pidof 'firefox-bin')" ]] && {
	    printf "%s\n" "$(applescript-firefox-url)" >&1
	    exit 0
	} || {
	    printf "%s\n" "$msg_e" >&2
	    exit 1
	}
    }
 
    main
}
 
firefox-url
 
# Local Variables: 
# mode: Shell-script 
# coding: mule-utf-8 
# End: 

Ensuite, récupérer la vidéo en cours de consultation dans Firefox, sur YouTube, pourrait se résumer à une commande du style :

youtube-dl $(firefox-url)

Évitant les fastidieux copier/coller, et les manipulations d'une fenêtre à une autre.

RSS commentaires

  1. H
  2. A
  3. C
  4. V
  5. E
  6. 5

Pour valider le formulaire, saisissez les 3 derniers caractères de la série

  • caca
  • confused
  • cry
  • dizzy
  • happy
  • lol
  • neutral
  • omg
  • sad
  • smile
  • tongue
  • wink