savoir si spaces est activé et leur nombre

APAP Membre
21:21 modifié dans API AppKit #1
Je suis en train de me développer un petit utilitaire de gestion des fenêtres et j'aurais aimé comment savoir:
- si spaces est activé
- si oui quel est leur nombre

Si vous avez des idées elles sont bienvenues!  ;)

Réponses

  • ThibautThibaut Membre
    21:21 modifié #2
    ça se passe dans le fichier de préférence com.apple.dock.plist

    L'attribut "workspaces" permet de savoir si Space est activé.
    "workspaces-cols" et "workspaces-rows" permettent de savoir le nombre de colonnes et de lignes.
  • AliGatorAliGator Membre, Modérateur
    21:21 modifié #3
    Dans les préférences du dock (com.apple.dock.plist), tu as les clés suivantes :
    - workspaces
    - workspaces-app-bindings
    - workspaces-cols
    - workspaces-rows
    - workspaces-switch-modifier-binding
    - workspaces-switchDirectly-modifier-binding

    Il suffit donc d'aller lire ces clés de préférences pour avoir l'info :)
  • APAP Membre
    21:21 modifié #4
    AliGator, l'ampleur de tes connaissances m'impressione!!!

    Comment avoir acces à  toutes ces infos programmatiquement?
  • 21:21 modifié #5
    dans 1260021847:

    AliGator, l'ampleur de tes connaissances m'impressione!!!

    Comment avoir acces à  toutes ces infos programmatiquement?


    <br /><br />NSDictionary* dock = [[NSUserDefaults standardUserDefaults] persistentDomainForName:@&quot;com.apple.dock&quot;];<br /><br />
    
  • APAP Membre
    21:21 modifié #6
    Merci pour vos réponses. Ca fonctionne super bien. Il me reste encore un petit problème à  résoudre: comment être notifié du changement de configuration de spaces (lignes, colonnes, ...)?? ???
  • décembre 2009 modifié #7
    Regarde si une notification (cf NSDistributedNotificationCenter) n'est pas envoyée lorsque modifie les préférences de Spaces, mais j'en doute fort.
    Sinon, tu peux toujours surveiller simplement lorsque l'utilisateur quitte "System Preferences".

    Plus "compliqué", tu peux observer la modification du fichier des préférences du Dock. FSEventer (je crois que c'est son nom) fait ça pour tous les fichiers du disque, c'est que c'est donc possible.
Connectez-vous ou Inscrivez-vous pour répondre.