Questa non è una risposta alla tua domanda di per sé , ma ho smesso di usare Fluid e ho spostato su Chrome SSB, sia per la possibilità di aggiungere plug-in di Chrome (un must per me) e la migliore esperienza (IMHO) di Chrome come browser. Finora ho creato SSB per Google Play Music, Gmail, Google Calendar e MightyText. Tutto funziona magnificamente.
Lo script che sto usando è il seguente:
#!/bin/bash
# White Space Trimming: http://codesnippets.joyent.com/posts/show/1816
trim() {
local var=$1
var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters
var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters
/bin/echo -n "$var"
}
### Get Input
/bin/echo "What should the Application be called?"
read inputline
name=`trim "$inputline"`
/bin/echo "What is the url (e.g. https://www.google.com/calendar/render)?"
read inputline
url=`trim "$inputline"`
/bin/echo "What is the full path to the icon (e.g. /Users/username/Desktop/icon.png)?"
read inputline
icon=`trim "$inputline"`
#### Find Chrome. If its not in the standard spot, try using spotlight.
chromePath="/Applications/Google Chrome.app"
if [ ! -d "$chromePath" ] ; then
chromePath=`mdfind "kMDItemCFBundleIdentifier == 'com.google.Chrome'" | head -n 1`
if [ -z "$chromePath" ] ; then
/bin/echo "ERROR. Where is chrome installed?!?!"
exit 1
fi
fi
chromeExecPath="$chromePath/Contents/MacOS/Google Chrome"
# Let's make the app whereever we call the script from...
appRoot=`/bin/pwd`
# various paths used when creating the app
resourcePath="$appRoot/$name.app/Contents/Resources"
execPath="$appRoot/$name.app/Contents/MacOS"
profilePath="$appRoot/$name.app/Contents/Profile"
plistPath="$appRoot/$name.app/Contents/Info.plist"
versionsPath="$appRoot/$name.app/Contents/Versions"
# make the directories
/bin/mkdir -p "$resourcePath" "$execPath" "$profilePath"
# convert the icon and copy into Resources
if [ -f "$icon" ] ; then
if [ ${icon: -5} == ".icns" ] ; then
/bin/cp "$icon" "$resourcePath/icon.icns"
else
sips -s format tiff "$icon" --out "$resourcePath/icon.tiff" --resampleWidth 128 >& /dev/null
tiff2icns -noLarge "$resourcePath/icon.tiff" >& /dev/null
fi
fi
# Save a symlink to the location of the Chrome executable to be copied when the SSB is started.
/bin/ln -s "$chromeExecPath" "$execPath/Chrome"
### Create the wrapper executable
/bin/cat >"$execPath/$name" <<EOF
#!/bin/sh
ABSPATH=\$(cd "\$(dirname "\$0")"; pwd)
/bin/cp "\$ABSPATH/Chrome" "\$ABSPATH/$name Chrome"
exec "\$ABSPATH/$name Chrome" --app="$url" --user-data-dir="\$ABSPATH/../Profile" "\$@"
EOF
/bin/chmod +x "$execPath/$name"
### create the Info.plist
/bin/cat > "$plistPath" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>CFBundleExecutable</key>
<string>$name</string>
<key>CFBundleName</key>
<string>$name</string>
<key>CFBundleIconFile</key>
<string>icon.icns</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
</dict>
</plist>
EOF
### link the Versions directory
/bin/ln -s "$chromePath/Contents/Versions" "$versionsPath"
### create a default (en) localization to name the app
/bin/mkdir -p "$resourcePath/en.lproj"
/bin/cat > "$resourcePath/en.lproj/InfoPlist.strings" <<EOF
CFBundleDisplayName = "$name";
CFBundleName = "$name";
EOF
### tell the user where the app is located so that they can move it to
### /Applications if they wish
/bin/cat <<EOF
Finished! The app has been installed in
$appRoot/$name.app
EOF
Lo sto incollando qui perché non riesco a ricordare dove l'ho trovato, ma è uno dei pochi "Chrome-to-SSB" script che creano un insieme unico di preferenze per l'app che crea.
NOTA : Devi ancora personalizzare l'ambiente delle preferenze in modo da non eseguire alcun conflitto con i problemi del portachiavi Mac con più browser che si identificano nel sistema come "Google Chrome" e l'app Accesso Portachiavi che entra in un ciclo infinito richiedendo i diritti di autenticazione. Fidati di me e leggi l'avvertimento in fondo.
Così:
- Scarica il file di script
- Mettilo in un posto sicuro. Mi raccomando di perdere nella cartella Home, poiché è qui che verrà avviato Terminal.
- Chiamalo come vuoi (chromeSSB.sh è memorabile) o crea un alias ad esso nel tuo .bashrc o .bash_profile.
- Invoca lo script digitandone il nome nel terminale, quindi, utilizzando il nome di esempio sopra:
e premi 'Invio'. La sceneggiatura ti guiderà attraverso la creazione del tuo SSB, chiedendo, in ordine ...
- Come dovrebbe essere chiamata l'applicazione?
- Qual è l'url (ad es. https://www.google.com/calendar/render )?
- Qual è il percorso completo dell'icona (ad esempio /Users/username/Desktop/icon.png)?
E questo è tutto! Assicurati di scaricare e fai riferimento a una bella pinta in alta risoluzione dell'icona dell'app desiderata, se questo è importante per te.
Ora, l'avvertimento di cui sopra.
Poiché stai creando un'istanza separata di Chrome e poiché Chrome vuole aiutarti in ogni modo possibile sincronizzando la tua vita tra tutti i browser Chrome che utilizzi, ti consigliamo di fare un paio di passaggi quando lanci per la prima volta il tuo nuovo Chrome basato su SSB. Al momento del lancio sarete accolti con:
1.
Lo vorrai un -controlla quella casella, in modo che la tua copia "normale" di Chrome sia la tua copia "predefinita".
Quindi vedrai:
2.
Inserisci le informazioni del tuo account Google e "Accedi".
tu dovrebbero guarda la schermata seguente, chiedendoti cosa vorresti sincronizzare tra i tuoi browser (se non vedi questa schermata immediatamente, vedi sotto). Scegli "Scegli cosa sincronizzare" dal menu popup ...
Poi DESIDERATE OGNI CHECKBOX ...
... in modo da non sincronizzare nulla tra i browser. Questo ti dà accesso alle informazioni del tuo account Google (se ne hai bisogno) ma altrimenti lascia il browser come un'app completamente autonoma, che è esattamente ciò che desideri. Se lasci selezionata una di queste caselle di controllo "sincronizzazione", lo fai a tuo rischio e pericolo, perché attraversare i flussi è negativo. Considera un suggerimento importante per la sicurezza. ;-)
Questo sembra troppo complicato, ma basta leggerlo una volta e starai bene.
- Crea l'app.
- Assicurati che la nuova app (browser) non si sincronizzi con altre istanze di Chrome.
- Godere.
Se non hai visualizzato la schermata delle preferenze "Scegli cosa sincronizzare" non appena accedi a Chrome, non preoccuparti. L'ho visto succedere un paio di volte. Procedi da qui:
Quindi, hai effettuato l'accesso alla sessione del browser ma NON hai eseguito l'accesso a Chrome (o qualcosa del genere). Cosa significa questo? I preferiti, le preferenze, i plug-in, ecc. Sono non automaticamente sincronizzato per te in questo momento, quindi c'è un ultimo passaggio per accedere. Scegli "Preferenze" dal menu principale della tua app (qualunque sia il tuo nome) ...
e "Accedi a Chrome" ...
Immettere di nuovo il login e quindi procedere al passaggio 2, sopra.