Je suis en train de mettre à niveau la réponse existante
Comment ouvrir une nouvelle fenêtre Firefox avec Terminal
pour accepter une URL en tant qu'argument et ouvrir une NOUVELLE fenêtre Firefox.
Je peux utiliser
open -a Firefox 'http://localhost:3000'
mais cela ouvre dans un onglet et non une NOUVELLE fenêtre comme souhaité.
Une variation est
open -n -a Firefox 'http://localhost:3000'
qui me donne l'erreur standard
Fermez Firefox, une copie de Firefox est déjà ouverte. Seule une copie de Firefox peut être ouverte à la fois
MAIS cela ouvre l'URL dans mon navigateur par défaut Safari.
J'ai essayé diverses options basées sur la page de manuel pour open et sur le site Mozilla pour ouvrir des URLs avec leurs produits mais ils disent que les informations sont obsolètes et peuvent ne pas fonctionner. Ce n'est pas le cas pour moi par exemple
/Applications/Firefox.app/Contents/MacOS/firefox -new-window "http://localhost:3000"
/Applications/Firefox.app/Contents/MacOS/firefox -remote "openURL(http://localhost:3000, new-window)"
les deux échouent avec l'erreur commune mentionnée précédemment.
J'ai essayé de modifier le script dans le lien précédent. Je l'ai mis à jour comme suit.
# Une fonction pour pouvoir ouvrir une nouvelle fenêtre Firefox si firefox est déjà
# en cours d'exécution.
fonction fenetre-firefox() {
/usr/bin/env osascript <<-EOF
en cours d'exécution argv
dire à l'application "System Events"
si (nom des processus) contient "Firefox" alors
dire à l'application "Firefox" d'activer
appui sur "n" en utilisant la touche de commande enfoncée
sinon
dire à l'application "Firefox" d'activer
fin si
retourner "J'essaie d'ouvrir " & article 1 de argv & " dans une nouvelle fenêtre Firefox."
(*
if & item 1 of argv &
retourner "Je suis celui que vous cherchez"
dire à l'application "Firefox" OpenURL & item 1 of argv &
fin si
*)
fin tell
fin run
EOF
}
Je reçois l'erreur :
erreur d'exécution : Impossible de faire de l'article 1 de {} un texte Unicode. (-1700)
et je suis bloqué là. J'ai donc un problème pour récupérer l'URL dans l'AppleScript en tant qu'argument.
Eh bien, j'obtiens une multitude d'autres erreurs mais le script original s'exécute malgré celles avant l'erreur UNICODE.
~$ fenetre-firefox 'http://localhost:3000'
2012-06-10 16:13:30.258 osascript[789:60f] Erreur de chargement /Library/ScriptingAdditions/Adobe Unit
Types.osax/Contents/MacOS/Adobe Unit Types : dlopen(/Library/ScriptingAdditions/Adobe Unit
Types.osax/Contents/MacOS/Adobe Unit Types, 262) : aucune image adaptée trouvée. A trouvé :
/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types : pas
d'architecture correspondante dans l'emballage universel
oscript : OpenScripting.framework - l'addition de script "/Library/ScriptingAdditions/Adobe Unit
Types.osax" ne déclare aucun gestionnaire chargé.
294:300: erreur d'exécution : Impossible de faire de l'article 1 de {} un texte Unicode. (-1700)
Je pensais que cela pourrait être simple mais cela me laisse la tête contre le mur. Je suis stupéfait que cela ne fonctionne pas avec une simple commande open pour que je puisse le faire dans un script shell.
Toute aide serait appréciée pour que Firefox puisse ouvrir une NOUVELLE fenêtre tout en lui passant une URL.