Como han señalado otros usuarios, probablemente no merezca la pena mantener el tercer y cuarto punto, ya que dificulta la aplicación de los dos primeros:
use S : application "Safari"
property PHPMyAdminURL : "http://xxxxx/ppmya"
on run
if S is not running then return openPHPMyAdmin()
set _T to a reference to (every tab of every window of S whose ¬
name contains "PHPMyAdmin" and ¬
URL contains "/ppmya")
if (count _T) > 0 then return viewPHPMyAdmin(_T)
openPHPMyAdmin()
end run
to openPHPMyAdmin()
tell S
if (count windows) = 0 then
make new document with properties ¬
{URL:PHPMyAdminURL}
else
make new tab at end of tabs of S's window 1 ¬
with properties ¬
{URL:PHPMyAdminURL}
set current tab of S's window 1 to the result
end if
activate
end tell
end openPHPMyAdmin
to viewPHPMyAdmin(T)
set [T] to T
set W to the first window of S whose tabs contains T
set current tab of W to T
activate S
set the index of W to 1
end viewPHPMyAdmin
Después de algunos comentarios iniciales de @user3439894, he eliminado el on quit
handler ya que al intentar utilizar el script como una aplicación de permanencia impide que el punto 2 se implemente efectivamente.
0 votos
Teniendo en cuenta los cuatro puntos, no creo que se pueda hacer razonablemente con un simple AppleScript normal básico, probablemente tendrías que entrar en AppleScriptObjC. IMO Sería mucho más fácil centrarse en sólo los dos primeros puntos. Yo lo escribiría de manera que cuando la aplicación se ejecute, compruebe si la pestaña de destino existe y si no la abre, si no la trae al frente y sale. Realmente no veo la necesidad de los dos últimos puntos, simplemente cierra la página cuando hayas terminado con ella y la aplicación ya está cerrada de todos modos.
0 votos
@user3439894 Gracias por la información. Estoy de acuerdo en que lo haría de la manera sugerida. Las dos últimas viñetas son por si alguien utiliza mantener abierto el gestor de ejecución.
0 votos
IMO No hay necesidad de mantenerlo vivo después del manejador de ejecución, y si lo mantienes abierto entonces el código tiene que hacer un bucle y eso no es práctico para lograr una solución de trabajo razonable centrándose sólo en los dos primeros puntos.
0 votos
¿Estaría interesado en una solución que ponga phpMyAdmin en su propia "app"? Si es así, algo como fluidapp.com parece la opción ideal.
0 votos
@TJLuoma Eso se basa en Electron, creo. Tal vez sea una buena idea.
0 votos
Estoy bastante seguro de que es anterior a Electron, en realidad, pero es una idea similar. Me gusta Fluid y lo uso para Facebook y Twitter.com
0 votos
@TJLuoma Voy a echar un vistazo. Supongo que un poco de un problema x-y
0 votos
@CJK Puedes usar cualquier cosa como url de ejemplo.
0 votos
@CJK Acabo de probar un par de páginas parece que todas tienen phpMyAdmin en el título. | La url es XXXXXXX/ppmya ¿Es suficiente?