Diciamo che voglio scrivere una semplice applicazione Cocoa per rendere più utile la funzione Spaces di Leopard. Vorrei configurare ogni spazio per avere, diciamo, diversoRilevare quando uno spazio cambia in Spazi in Mac OS X
- schermo risoluzioni
- layout di tastiera
- di volume (per l'audio)
Quindi ci sono due parti per la mia domanda:
- Suppongo che ci siano modi per modificare queste tre cose indipendentemente da Spaces, giusto? Se é cosi, come?
- Come posso rilevare nella mia app quando si verifica uno spazio, e quando ciò accade, determinare a quale spazio l'utente è appena passato? Leopard invia alcune notifiche distribuite o qualcosa del genere?
Aggiornamento: ci deve essere qualche modalità API pubblica per fare ciò, a giudicare da tutte le app relative a Spaces sul Mac App Store.
Grazie. Ma cosa succede se non ci sono finestre nello spazio? Questo caso può essere gestito tramite API pubblica? – Enchilada
Nella tua app crea una finestra trasparente e impostala unisci a tutti gli spazi, quindi cerca quella nella serie di finestre. Per impostare una finestra su tutti gli spazi, utilizzare questo: [transparentWindow setCollectionBehavior: NSWindowCollectionBehaviorCanJoinAllSpaces] – BendiLow
Quando si utilizza 'kCGWindowWorkspace' ho notato che l'ID spazio cambia dopo un riavvio per gli spazi dopo il primo (su Lion). Ciò rende la memorizzazione dell'ID praticamente inutile ... Esiste un'altra API pubblica per questo? (Forse collegato a questo: http://openradar.appspot.com/9241430) – Mark