Comment explorer plus de réglages d'écriture par défaut sur OS X?


13

Je voudrais explorer de nouveaux ajustements qui peuvent être effectués par la commande "écriture par défaut" dans OS X (ML).

Que puis-je faire pour les découvrir moi-même plutôt que de rechercher en ligne des ajustements connus?

Réponses:


20

Avertissement: je suis l'auteur d' ~/.osxune collection de defaults writeparamètres . Ce sont les techniques que j'utilise pour trouver les paramètres. Faites-moi savoir s'il existe une méthode meilleure / plus facile que je n'ai pas mentionnée ici!


Pour la plupart des paramètres non masqués, voici comment trouver les bonnes clés de préférence dans Terminal.app:

defaults read > a
# Change the setting
defaults read > b
diff a b

Pour les paramètres cachés, cela devient plus délicat. Vous pouvez utiliser l' stringsutilitaire de ligne de commande sur n'importe quel exécutable binaire et voir si le texte résultant ressemble à une clé de préférence. Par exemple:

strings /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

Voici un autre exemple qui examinera tous les .frameworkfichiers /System/Library/Frameworks/et filtrera quelque peu la sortie:

strings /System/Library/Frameworks/*.framework/Versions/Current/* /System/Library/Frameworks/*/Frameworks/*/Versions/Current/* 2> /dev/null | grep -E '^[a-zA-Z0-9_.-]{10,80}$' | sort | uniq

Il existe également un outil appelé GDB qui peut être utilisé pour trouver des préférences cachées.


1
Merci beaucoup et je ne peux pas croire que vous me répondiez! Je connaissais votre belle liste sur github il y a longtemps. Merci beaucoup! Je vais essayer ça maintenant.
Tom S

2
@Lri FWIW, j'ai fait une installation propre de Mountain Lion la semaine dernière et defaults read;fonctionne très bien ici.
Mathias Bynens

0

Une autre commande de chaînes:

for f in $(mdfind kMDItemContentType==public.unix-executable -onlyin /System/Library/); do strings $f 2> /dev/null | grep -E '^[[:alnum:]_.-]{10,80}$' | grep ^Apple | sort -u | sed "s/^/${f##*/} /g"; done

sudo opensnoop -n cfprefsdmontre quelles listes de propriétés sont modifiées. Vous pouvez utiliser fseventer pour afficher d'autres modifications du système de fichiers en temps réel.

par défaut a une sous-commande find:

$ defaults find nsquitalw
Found 1 keys in domain 'Apple Global Domain': {
    NSQuitAlwaysKeepsWindows = 1;
}

Les fichiers d'en-tête contiennent souvent des définitions pour les clés de préférence:

grep PreferenceKey -r ~/Code/Source/WebKit/ | grep '\.h:'

-1

Ce que j'ai supposé de votre question, c'est que vous voulez explorer les réglages / paramètres d'une application. Vous pouvez lire les préférences d'une application avec cette commande triviale

defaults read NSGlobalDomain

ou

defaults read com.google.Chrome pour lire les préférences inscriptibles de chrome à partir de la commande d'écriture par défaut que vous avez demandée.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.