31/10/08
firefox-url (script bash/osascript)

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
.
#!/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.