6 votes

Ouvrir une nouvelle fenêtre Safari dans l'espace actuel à partir du Terminal avec plusieurs onglets (URL)

Comment ouvrir une nouvelle fenêtre Safari à partir du Terminal dans l'espace actuel ?

Maintenant, lorsque vous utilisez le open http://example.com La commande a ouvert l'URL comme dernier onglet de ma première fenêtre Safari.

Je cherche un moyen d'ouvrir :

  • Nouvelle fenêtre Safari (quel que soit le nombre de fenêtres que j'ai ouvertes).
  • Dans l'espace actuel
  • Depuis le terminal avec l'URL fournie.

Il faudra probablement osascript script, mais ma connaissance d'AppleScript est quasi nulle...

Le bonus pourrait être d'ouvrir deux URL, dans deux onglets, dans une nouvelle fenêtre dans l'espace actuel.

Quelqu'un peut-il m'aider ?

8voto

Polo Points 574

Voici un AppleScript qui devrait vous aider. Ouvrez l'éditeur AppleScript et enregistrez ceci comme un script. J'ai modifié la source que j'ai trouvée aquí pour prendre en charge la prise en compte des arguments sur la ligne de commande.

Utilisez-le comme ça :

osascript new_window.scpt http://www.google.com http://www.stackoverflow.com

Bien sûr, remplacez les URLs ci-dessus par vos propres URLs.


nouvelle_fenêtre.scpt

on run argv
    tell application "Safari"
        if (count argv) = 0 then
            -- If you dont want to open a new window for an empty list, replace the
            -- following line with just "return"
            set {first_url, rest_urls} to {"", {}}
        else
            -- `item 1 of ...` gets the first item of a list, `rest of ...` gets
            -- everything after the first item of a list.  We treat the two
            -- differently because the first item must be placed in a new window, but
            -- everything else must be placed in a new tab.
            set {first_url, rest_urls} to {item 1 of argv, the rest of argv}
        end if

        make new document at end of documents with properties {URL:first_url}
        tell window 1
            repeat with the_url in rest_urls
                make new tab at end of tabs with properties {URL:the_url}
            end repeat
        end tell
        activate
    end tell
end run

Vous pourriez même créer un alias pour cela dans le Terminal et être en mesure de l'utiliser plus facilement. J'ajouterais ce qui suit à ~/.bash_profile :

alias newwindow='osascript /path/to/new_window.scpt'

Appelez newwindow tout ce que vous voulez. Sauvegarder .bash_profile et redémarrez le terminal pour qu'il fonctionne.


Au cas où quelqu'un chercherait une solution similaire pour Google Chrome, voici une version différente de la même idée.

chrome_new_window.scpt

on run argv
    tell application "Google Chrome"
        if (count argv) = 0 then
            make new window
        else
            tell (make new window)
                set URL of active tab to item 1 of argv
                repeat with the_url in the rest of argv
                    open location the_url
                end repeat
            end tell
        end if
        set active tab index of first window to 1
        activate
    end tell
end run

4voto

Justin Love Points 3073

Qu'en est-il cette réponse par l'utilisateur markhunte.

Vous pouvez placer la fonction ci-dessous avec le code osascript dans votre fichier .profile .

code :

function Safari {
  # Will open a New Safari window with argument 1.

osascript <<EOD
tell application "Safari" to make new document with properties {URL:"$1"}
return
EOD

}

En terminal :

cd dans votre répertoire personnel.

Cours :

nano .profile

Si vous avez déjà un .profile il s'ouvrira et il y aura déjà du code.

Saisissez le code dans la fenêtre, en dessous de tout autre code.

Si vous n'en aviez pas, un formulaire vierge .profile sera ouvert.

Saisissez le code dans la boîte.


Après avoir saisi le code :

Maintenez la pression Ctrl et appuyez sur la touche x clé.

Au bas de la fenêtre, il vous sera demandé d'enregistrer les modifications.

Appuyez sur la touche y pour oui.

Il vous sera maintenant demandé de l'enregistrer sous le nom actuel de .profile .

Il suffit d'appuyer sur la touche Entrée pour l'enregistrer.

Run :

. ~/.profile

Cela permettra de mettre à jour l'environnement.

maintenant tu peux courir :

Safari " http://stackoverflow.com " Notez la majuscule " S " de Safari.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X