2010-09-29 15 views
7

Estoy buscando maneras de reducir el tiempo desperdiciado pasado para abrir todas las aplicaciones necesarias, colocar ventanas, abrir URL/archivos/cambiar directorios/etc. antes de que comience la codificación real.Guardar y restaurar aplicaciones y diseño

En el mundo perfecto, habría 2 botones marcados como 'GUARDAR ESTADO' y 'RESTAURAR ESTADO' por 'proyecto'. El tipo de característica que encuentras en algunos juegos.

Estoy en una Mac y acabo de pasar unas horas golpeándome la cabeza con 'Automator' (que por alguna razón tiene problemas incluso para abrir Firefox desde el dock) y luego AppleScript (lo que me da la sensación de estar en para un largo viaje).

búsqueda en la red me llevó a este script:

http://snipt.net/Fotinakis/applescript-to-save-and-restore-window-positions/

#!/usr/bin/osascript 

-- Usage: 
-- $ osacompile -o windowPositions.compiled.scpt windowPositions.scpt 
-- $ osascript windowPositions.compiled.scpt --save 
-- $ osascript windowPositions.compiled.scpt --restore 

-- Change this to be the list of windows you want to save/restore 
property affectedProcesses : {"Chrome", "Adium", "Eclipse", "Terminal"} 
property windowRecord : {} 

on run argv 
if (count of argv) is equal to 0 then 
    log "Please specify one of --save or --restore." 
    return 
end if 

tell application "System Events" 
    if (item 1 of argv is equal to "--save") then 
    set windowRecord to {} 
    repeat with i from 1 to count affectedProcesses 
    set end of windowRecord to {0, {}, {}} 
    end repeat 
    repeat with p from 1 to count affectedProcesses 
    set processName to (item p of affectedProcesses) 
    if exists process processName then 
    log "Process '" & processName & "' exists" 
    tell process processName 
     set numWindows to count windows 
     set item 1 of item p of windowRecord to numWindows 
     repeat with i from 1 to numWindows 
     set end of item 2 of item p of windowRecord to position of window i 
     set end of item 3 of item p of windowRecord to size of window i 
     end repeat 
    end tell 
    end if 
    end repeat 
    else 
    repeat with p from 1 to count affectedProcesses 
    set processName to (item p of affectedProcesses) 
    if exists process processName then 
    log "Process '" & processName & "' exists" 
    tell process processName 
     set numWindows to item 1 of item p of windowRecord 
     repeat with i from 1 to numWindows 
     set position of window i to (item i of item 2 of item p of windowRecord) 
     set size of window i to (item i of item 3 of item p of windowRecord) 
     end repeat 
    end tell 
    end if 
    end repeat 
    end if 
end tell 
end run 

lo hace la mitad del trabajo (cambiar el tamaño y posición de las ventanas actuales), pero se desmorona en una configuración multi-monitor de varios equipos de sobremesa . No hay información de contacto para que el autor original solicite ayuda o comentarios.

¿Alguien puede arrojar algo de luz sobre cómo guardar y restaurar aplicaciones y diseño? Se siente como una tarea tan común que debería tener algunas utilidades de ayuda. Lo mejor que tengo es el 'modo de suspensión', pero parece que tengo que reiniciar completamente cada dos días y tengo diferentes aplicaciones y diseño para diferentes proyectos.

+0

podría valer la pena preguntar en Super User. Es posible que ya haya aplicaciones que hagan este tipo de cosas, y alguien en SU ​​podría saberlo. – Herms

+0

Hmmm tal vez. Voy a pegar esta pregunta allí también. Aclamaciones. – zaf

Respuesta

1

Ésta es una feature of Lion (Mac OS X 10.7) ... yo no mataría a sí mismo a través de una función de Apple se ha visto la necesidad y ha puesto en marcha en lugar perfectamente ...

Apple feature page describing feature

+0

Sí, cuando vi que en la reciente conferencia de desarrolladores solo tuve que sonreír ... – zaf

+1

La función de reanudación de los leones no es útil si se quiere cambiar a diferentes diseños de ventanas de aplicaciones para diferentes "proyectos". Sería bueno tener el comando para reorganizar todas las ventanas (y abrir y cerrar algunas aplicaciones) para comenzar de cero en un proyecto diferente. –

Cuestiones relacionadas