Me gustaría escribir una pequeña utilidad que mueve una ventana de un espacio a otro en OS X Lion. No me importa si la utilidad está escrita en AppleScript u Objective-C. Lo que parece que no puedo entender tiene una ventana, ¿cómo puedo moverlo a un espacio diferente? He visto mucha información útil en el hilo this, pero nada acerca de cómo mover realmente la ventana. Si alguien tiene pensamientos o ideas, agradecería escucharlos. Gracias.Mover una ventana a un nuevo espacio en Mission Control
Respuesta
Necesitará utilizar una biblioteca personalizada, que se puede encontrar aquí http://macscripter.net/viewtopic.php?id=23453, sin embargo, no estoy seguro de qué tipo de soporte tiene en lion.
Desafortunadamente, esto no parece funcionar para Lion. Como no puede enviar una aplicación a la tienda de aplicaciones a menos que funcione para el sistema operativo X más reciente, me temo que esto no funcionará. Aún así, gracias. – LandonSchropp
Si está utilizando llamadas objetivo-c, moverse entre espacios en 10.7 es en realidad igual a 10.6 excepto por un problema. Las ID de espacio se basaban en el índice en 10.6, pero se basaban en otra cosa (no exactamente un GUID) en 10.7.
Si ya tiene una ventana en el espacio correcto, las soluciones in this question funcionarán (lo estoy usando en). Puede obtener el ID de espacio con CGSGetWindowWorkspace, y luego configurarlo en otra ventana usando CGSMoveWorkspaceWindowList.
Ahora, si no tiene el ID de espacio, p. solo quieres mover la ventana al segundo espacio, entonces estoy tan perplejo como tú. Estoy buscando la vinculación entre el id. De espacio y el número de índice. (Actualizaré esta respuesta si la encuentro)
Finalmente, mencionas App Store en el comentario anterior; esto no será adecuado ya que las llamadas CGS * usan marcos privados no documentados que te rechazarán.
Es una pena que Apple no proporcione una API pública para lograr esto. Desafortunadamente, tengo el requisito de que esta aplicación debe poder ser lanzada en la App Store. Aún así, gracias por la sugerencia. – LandonSchropp
Si necesita Frameworks oficiales, está atascado con [setCollectionBehavior] (http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/setCollectionBehavior :) llamada. –
Nota para Lion: la ID de espacio que obtiene a través de los cambios de 'kCGWindowWorkspace' entre los inicios de sesión. – Mark
- 1. ¿Cómo puedo mover programáticamente una ventana Terminal.app a otro espacio?
- 2. Mover sección a archivo nuevo en vim
- 3. OSX: ¿Cómo detectar si se está ejecutando Mission Control?
- 4. Cómo mover a una carpeta de nuevo en python
- 5. ¿Cómo mover un proyecto a un nuevo repositorio SVN?
- 6. Agregue un control de usuario a una ventana de wpf
- 7. Abrir un nuevo espacio de trabajo en Xcode 4
- 8. mover cualquier control en WPF
- 9. Nuevo usuario de OSX: abriendo una nueva ventana de terminal en el espacio actual (?)
- 10. ¿Cómo abro una ventana en un nuevo hilo?
- 11. WebBrowser Control en un nuevo hilo
- 12. Mover múltiples archivos en TFS Source Control
- 13. Mover el método a un archivo nuevo y mantenerlo en la misma clase (hacerlo parcial)
- 14. Jenkins Verificando un nuevo espacio de trabajo
- 15. Mover un elemento de matriz a un nuevo índice en PHP
- 16. Mover a una posición arbitraria en un archivo en Python
- 17. Cómo permitir al usuario mover un control en el formulario
- 18. Probando el control WPF sin agregarlo a una ventana
- 19. Empujar una rama de un git repo a un nuevo control remoto (github), ocultando su historial
- 20. Mover elementos en torno a un ArrayList
- 21. AnkhSVN: mover un proyecto a otro repositorio
- 22. Crear un nuevo espacio de trabajo en Eclipse
- 23. Mover ventana usando PySide y PyKDE4
- 24. Agregar un nuevo proyecto a una solución existente en TFS
- 25. Ventana nativa Win32 en WPF Control
- 26. Abrir PDF en un navegador nuevo ventana completa
- 27. ¿Qué es un control sin ventana?
- 28. MySQL - Mueva todo a un nuevo servidor
- 29. Git Mover archivos a carpetas
- 30. Mover la ventana de registro de GWT
Esto parece un poco demasiado útil para StackOverflow. ¿Es esto para uso personal o para el desarrollo real? –
El plan era crear una aplicación que me ayudaría a manipular espacios con mayor facilidad en Lion. Hay algunas cosas que me hubiera gustado agregar a los espacios, como intercambiar fácilmente las ubicaciones de dos espacios o aplicaciones de pantalla completa. Incluso desarrollé un front-end con la idea de que Apple proporcionaría API para lograr esto. Iba a lanzar esta aplicación en la App Store. Lamentablemente, esto no parece ser posible utilizando las API proporcionadas. Me di por vencido después de leer esta publicación en el blog: http://thecocoabots.com/blog/post/377/. – LandonSchropp
Estoy buscando una respuesta para esto también. ¿Lograste hacerlo? ¿Puedes actualizar? – SimonW