4 votos

Forzar a todas las aplicaciones a volver a abrir en los mismos escritorios donde estaban antes de reiniciar el Macbook

Debido a un error molesto en mi Macbook Pro 2019 con MacOS 10.15.7, a veces sucede que mi Macbook se reinicia por sí solo. Esto no suele ser un gran problema porque casi todas las aplicaciones se reinician exactamente donde las dejé antes del reinicio, pero algunas de ellas en cambio vuelven al escritorio 1 después del reinicio, por lo que en cada reinicio tengo que volver a moverlas al escritorio que quiero. Si esto puede ser útil de alguna manera, las aplicaciones que se comportan de esta manera para mí son las aplicaciones de Microsoft Office, Visual Studio Code (trabajo con esta aplicación, por lo que tengo varias ventanas abiertas en cualquier momento), Spotify, Tidal, Adobe PDF reader. ¿Hay alguna forma de arreglar esto permanentemente para que cada ventana de cada aplicación se abra exactamente en el escritorio donde estaba antes del reinicio? Por ejemplo, la solución descrita aquí Preservar el escritorio donde se encontraba la ventana de una aplicación después de un reinicio del sistema no satisface mis necesidades. Gracias a todos.

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á.

4voto

Yang Jy Puntos 12

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.

2 votos

Esa es una respuesta maravillosa, gracias por crear esto y ojalá sea un punto de referencia para personas como nosotros que batallan con la gestión de múltiples escritorios, en realidad me sorprende que no esté gestionado de manera adecuada por el sistema operativo. Lo que me gustaría sugerirte es intentar anclar cada aplicación que puedas a un escritorio específico, incluso aunque creo que no puedes hacerlo realmente si tienes varias ventanas pertenecientes a la misma aplicación, y creo que esa es la mayoría de tu (nuestro) problema.

0 votos

Para hacer la copia de seguridad periódica (no la notificación) con AppleScript, parece que uno tendría que cambiar a cada Espacio sucesivamente y luego intentar convencer a Eventos del Sistema para darte un identificador de ventana para cada ventana. Varios otros métodos parecen encontrarse con callejones sin salida de ventanas inalcanzables/no identificables. Incluso una aplicación nativa dedicada parece tener una historia sórdida de trabajar a través de Espacios.

0 votos

@ Agosto: Acabo de publicar una respuesta separada. ¿Estoy interesado en saber si eso soluciona el problema para cualquiera/todas las aplicaciones en tu lista de "aplicaciones que no funcionan"?

1voto

Matt Calhoun Puntos 1

Hay una configuración llamada NSWindowRestoresWorkspaceAtLaunch que podría ayudar aquí.

Para aquellos que desean que Chrome siempre restaure las ventanas a sus espacios originales, pueden hacerlo ejecutando este comando en una ventana de terminal (para Canary, use com.google.Chrome.canary):

defaults write com.google.Chrome NSWindowRestoresWorkspaceAtLaunch -bool YES

Para volver al comportamiento predeterminado, ejecute:

defaults delete com.google.Chrome NSWindowRestoresWorkspaceAtLaunch

https://issues.chromium.org/issues/40531488#comment118 (a través de esta respuesta de Super User)

Según este gist, ese mismo enfoque debería funcionar para otras aplicaciones también.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X