No creo que sea posible hacer lo que pides, desde dentro solo las apps y el SO.
En particular no mi experiencia de que "casi todas las aplicaciones se reinician exactamente donde las dejé antes del reinicio". Me cuesta encontrar más que unas pocas aplicaciones de escritura, edición de código o toma de notas que reabran varios Windows en varios escritorios. (Mi objetivo es poder restaurar al menos una ventana de aplicación en cada uno de los 21 o más escritorios, por lo que la aplicación tiene que ser capaz de manejar esa cantidad de ventanas abiertas).
Sin embargo, puede ser posible hacer funcionalmente lo que intentas hacer, pero es un proyecto de investigación, el problema aún no se ha resuelto, que yo sepa después de hacer preguntas similares durante años.
Por qué el sistema operativo está en tu contra
Teóricamente, cuando el sistema operativo hiberna en respuesta a una batería críticamente baja u otras razones, toma una "instantánea" del estado actual del sistema y luego lo restaura cuando se reinicia. ¿Por qué no puede hacer lo mismo cada vez que reinicias?
Cuando el sistema hiberna, supone que todo lo demás es normal y se desea restaurar el mismo estado. En general, cuando se produce un reinicio en el curso normal de las cosas, es porque hay razones para no desea todo restaurado. Si está instalando software del sistema o actualizaciones, si un proceso ha bloqueado el sistema, debe no quiere que el sistema permanezca en su estado actual, quiere que se reinicie. Así que una instantánea de estilo hibernación no hará el trabajo, el sistema tendrá que registrar el estado de otras maneras.
Pero no es así. Peor aún, como se indica más adelante, Apple ha eliminado información que facilitaría este proceso. El sistema operativo deja el proceso de restauración de Windows prácticamente en manos de las propias aplicaciones.
Variaciones de la App en la robustez del reinicio
Como has señalado, algunas aplicaciones son mejores que otras en este aspecto. Por lo general, me parece que las aplicaciones portadas de Windows no son tan buenas como las nativas de Mac. Pero incluso las aplicaciones suministradas con el sistema que crees que realmente tienen una buena razón para comportarse como quieres, por ejemplo, Stickies, no lo hacen. Cuando reinicies, todos los Stickies abiertos anteriormente se abrirán de nuevo, pero todos aparecerán en el Escritorio 1.
Uno pensaría que de todas las aplicaciones integradas de Apple, Stickies sería la única aplicación en la que la reapertura en el espacio de trabajo de escritorio original sería parte integral del concepto de la aplicación. Y uno se equivocaría.
Así que quizá las aplicaciones que existen desde siempre, desde antes de Exposé y Mission Control, tampoco tengan lo que hay que tener. Pero esa idea se contradice con Buscador . Las ventanas del Finder se volverán a abrir en el Escritorio donde estaban.
He estado buscando aplicaciones para tomar notas y hacer listas que pudiera usar como describes, donde tendría una aplicación abierta en cada Escritorio donde registraría el progreso, Tareas pendientes, etc., sobre el proyecto en ese Escritorio. La posibilidad de reabrir automáticamente la aplicación Windows en el escritorio correspondiente es crucial para ese flujo de trabajo.
Estos son algunos de los resultados de las pruebas realizadas con varias aplicaciones. Recuerda que se trata de aplicaciones para tomar notas y hacer listas de tareas, no de aplicaciones en general, por eso Finder no está en esta lista.
Aplicaciones que funcionan
- TextEdit. Incorporado. Múltiples ventanas. Reinicia a los escritorios originales. Conserva los buffers no guardados.
- Notas. Incorporado. Múltiples Windows por notas flotantes. Reinicios a escritorios originales. No hay buffers sin guardar. Puede compartir contenido con iOS. La ventana de Notas Maestras muestra todas las notas, independientemente de la posición de las notas flotantes, por lo que la selección en esta interfaz no cambiará los Escritorios. CUIDADO: Float ON TOP tiene la molesta costumbre de mover una ventana de notas, pero no todas, junto contigo cuando cambias de Escritorio.
- TextoPlegable. Gratuito (?). Múltiples ventanas. Reinicia a los escritorios originales. FT se vendió recientemente (información de 9/2022); el nuevo propietario planea una versión 3.0 que puede ser de pago.
- TextDo. Gratis. Múltiples ventanas. Reinicia a los escritorios originales.
- Typora 1.0. $15. Múltiples ventanas. Markdown. Reinicia a los escritorios originales. Conserva los buffers no guardados.
- Oso. Gratis. $1.50/mes para sincronizar con el teléfono. Múltiples ventanas. Markdown. Reinicia a los escritorios originales. Concepto inusual de ventana maestra que tiene un párrafo de cada archivo y luego los archivos se pueden abrir por separado desde allí.
Aplicaciones que no funcionan
- Trello. Permite múltiples ventanas en una sesión. Reinicia a una sola ventana en el primer escritorio.
- Palabra. Permite múltiples Windows en una sesión. Reinicia a una sola ventana en el primer escritorio.
- OneNote. Permite múltiples ventanas en una sesión. Reinicia a una sola ventana en el primer escritorio.
- MS To Do. Sin múltiples Windows. Reinicia en el primer escritorio.
- BBedit 12. Múltiples ventanas. Reinicia al primer escritorio en el monitor original de la ventana.
- Bbedit 14. Igual que v12. Incluso el nuevo modo Notas no es adecuado.
- Text Wrangler - igual que BBEdit.
- TextMate - Permite múltiples ventanas. Reinicia con todos los Windows en el primer escritorio.
- Antnotes - Anunciado como un mejor Stickies. Se reinicia con todos los Windows en el primer escritorio (igual que el Stickies original).
- MacVim. Nada se vuelve a abrir después de un reinicio y los archivos abiertos parecen incluso haber desaparecido de la lista de Recientes, a pesar de que se guardaron. VIM es un fracaso.
No he tomado nota de las aplicaciones que no son adecuadas para hacer listas o tomar notas, pero me he dado cuenta de que algunas aplicaciones reabren todas las ventanas pero las ponen todas en el Escritorio 1, algunas aplicaciones sólo reabren una única ventana en cualquier Escritorio en el que se reinicie, y algunas aplicaciones no se reabren en absoluto, incluso con el ajuste "Restaurar todas las ventanas".
Aplicaciones que deben probarse
Estoy deseando probarlo:
- Código Burbujas
- Soportes
- Notion
- ... y cualquier otro que usted u otras personas puedan sugerir que son buenos candidatos para tomar notas fácilmente y para la robustez del reinicio.
Información sobre la API de Apple
Mientras tanto, creo que es posible hacer lo que pides, pero el proyecto está en pañales.
De OSX 10.5 a OSX 10.8, Apple proporcionó un atributo de ventana API, kCGWindowWorkspace
que le indicaría en qué espacio de trabajo del Escritorio de Mission Control se encontraba una ventana concreta; era simplemente un atributo fundamental de la ventana. Como debe ser, en mi opinión.
Pero kCGWindowWorkspace
ya no está disponible. Está obsoleto desde OSX 10.11. Eso lo hace mucho más difícil recopilar la información que desea.
Sobrevivir con información mínima
Desde hace un par de años, se aceptaba que Apple había eliminado toda la información de Desktop Workspace de las API públicas, pero resulta que eso no es del todo cierto. Existe una API, NSWorkspaceActiveSpaceDidChangeNotification
que devuelve true
tras un cambio de Espacio de trabajo de escritorio. Ya está.
Hay una aplicación de GitHub, WhichSpace, que pone un icono numérico en la barra de estado para decirte en qué Escritorio estás, y puedes consultarlo con AppleScript.
Y hay varias herramientas, desde AppleScript a Keyboard Maestro, que pueden listar todas las ventanas abiertas del actual Escritorio y te da información sobre el tamaño y la posición de la ventana.
Creación de prototipos
Así que para hacer lo que pides, me parece que tendrás que crear esencialmente un sistema para hacer copias de seguridad periódicas del estado actual de todos los Escritorios, tal vez con más frecuencia haciendo copias de seguridad sólo del Escritorio actual.
No es fácil. Por ejemplo, cuando mueves una ventana de un Escritorio a otro, el sistema puede notificarte que el Escritorio ha cambiado y puedes averiguar el número de Escritorio/Espacio actual. Pero es cuando estás en el nuevo Escritorio cuando quieres hacer una copia de seguridad del escritorio anterior y no hay una manera sencilla de obtener esa información sin hacer que ese sea el escritorio actual de nuevo.
A continuación, necesitas una rutina de inicio para descomprimir la información de la copia de seguridad y restaurar tu entorno de trabajo.
Me encantaría tener un sistema así. Actualmente tengo 21 ordenadores de sobremesa. Cuando tengo que reiniciar, me parece que me lleva más de 20 minutos volver a tener mi entorno donde quiero, y tengo listas y mnemotecnias y hacks para suavizar el proceso.
Es sólo mi opinión, podría estar equivocado. Me encantaría equivocarme y que alguien creara un sistema tan sencillo que cualquiera pudiera hacerlo.
1 votos
Que la computadora se reinicie por sí sola es un problema grave que vale la pena examinar un poco más a fondo que simplemente descubrir cómo hacer que las aplicaciones se vuelvan a abrir en el Escritorio correcto. Un día, la computadora se reiniciará sola y no arrancará, dejándote con una pantalla negra. ¿Haces copias de seguridad con Time Machine u otros métodos de respaldo de datos?
0 votos
@IconDaemon tienes toda la razón. Desafortunadamente necesito cambiar algunos parámetros en mi sistema para que funcione correctamente con varias pantallas y he dejado de intentar entender si eso es lo único que causa los reinicios, y mucho menos intentar solucionarlo. Actualmente casi puedo aislar los escenarios en los que la laptop se reinicia para limitar la cantidad de veces que esto suceda.
1 votos
Si tienes aplicaciones ancladas a espacios específicos, debería funcionar. Si tienes aplicaciones que abarcan más de un espacio, no funcionará.
0 votos
@Tetsujin ¿sabes si el anclaje funciona también cuando se utilizan múltiples monitores?
1 votos
Se fija una aplicación a un Espacio, no específicamente a una pantalla. Si tienes dos pantallas y la preferencia de Control de Misión 'Las pantallas tienen Espacios separados' está apagada, entonces puedes colocar una aplicación en cualquier lugar de cualquier pantalla y se recordará como parte de ese Espacio.