2010-03-26 9 views

Répondre

4

Je crois que vous pouvez trouver une réponse possible à CocoaDev - DontExposeMe. Faites très attention à l'utilisation de méthodes non documentées car de telles choses peuvent disparaître ou changer, ce qui peut conduire à un comportement inattendu dans votre application.

En 2004, quelqu'un a posé cette question sur la liste de diffusion Carbon Development d'Apple et Eric Schlegel (travaille pour Apple) responded. Fondamentalement, les nouvelles n'étaient alors pas bonnes et ont suggéré que ceci soit fait seulement pour des machines de kiosque où vous pouvez placer les préférences de système vers le haut de manière appropriée. Il a également mentionné que c'était un bug connu - rdar: // 3499719. Malheureusement, cela semble quelque chose que vous ne devriez probablement pas essayer de faire maintenant. Je ne serais certainement pas reconnaissant si une application a commencé à jouer avec mes préférences système comme mentionné dans l'article que Marcel a pointé et a ensuite procédé à les bousiller parce qu'il s'est écrasé ou quelque chose.

Donc, je suggère de se diriger vers bugreport.apple.com et de déposer votre propre bug. Cela fait une différence parce qu'Apple utilise la fréquence de rapports de bugs similaires pour juger si oui ou non ils doivent faire ou réparer quelque chose. Assurez-vous d'inclure l'url pour la réponse par Eric S. et le numéro de bogue qu'il a mentionné.

+0

Merci! Je résous un de mes problèmes en rendant impossible pour les utilisateurs d'accéder aux coins de l'écran actifs lorsque mon application fonctionne en mode plein écran. – e40pud

1

Pour obtenir des conseils sur la désactivation par programme de certaines fonctions osx, consultez la page this article. C'est une solution de contournement (puisqu'il supprime simplement les raccourcis clavier), mais cela devrait correspondre à vos besoins.

+0

Mon application fonctionne en mode plein écran et je devrais désactiver temporaire (alors que l'application est en cours d'exécution) Expose. J'utilise SetSystemUIMode pour cacher les barres Dock et Menu. Et j'ai besoin d'une possibilité identique pour désactiver Expose. – e40pud

+0

+1 allait suggérer exactement cela. Pro Tools est incroyablement paresseux et vous dit juste de désactiver certaines touches de raccourci vous-même! –

+1

C'est l'approche que le Blizzard prend dans ses jeux AFAIK, mais attention, il a été très fâché pendant longtemps dans World of Warcraft. À l'époque, j'aurais préféré que ce ne soit pas si utile. – Chuck

0

Si ce que vous recherchez est d'avoir votre application, UNAFFECTED par exposer, il suffit de définir le comportement de collecte de votre fenêtre à NSWindowCollectionBehaviorStationary. Par exemple,

[[[[NSApplication sharedApplication] delegate] window] setCollectionBehavior:NSWindowCollectionBehaviorStationary]; 

Votre application en plein écran ne participera pas à Expose.