Desejo conhecer todas as chaves (lista de propriedades) disponíveis em determinado aplicativo de domínio, como exemplo para listar as chaves disponíveis com.apple.dock
digitando este comando:
$ defaults read com.apple.dock
mas, de alguma forma, a saída desse comando mostrou apenas a chave da lista de propriedades ativas e, no entanto, nem todas as chaves disponíveis com.apple.dock
listadas lá.
Alguém pode me ajudar nisso?
command-line
defaults
plist
wongacid
fonte
fonte
defaults read
para encontrar as chaves para preferências normais ou usar oCFPreferencesCopyValue
método em gdb. Consulte Como explorar mais padrões, escrever ajustes no OS X? - Super Usuário .defaults read
para encontrar as chaves para preferências normais, executar seqüências de caracteres nos binários das estruturas ou usar oCFPreferencesCopyValue
método no gdb. Consulte Como explorar mais padrões, escrever ajustes no OS X? - Super Usuário .Respostas:
Esta não é uma tarefa trivial, se bem me lembro, as pessoas executam o
strings
utilitário na linha de comando em um Aplicativo e procuram coisas que correspondam a uma estrutura semelhante a com.domain.FeatureName. (com.apple.iTunes, ch.cyberduck.CyberDuck, com.panic.Coda, etc.)A maneira mais fácil de gerenciar essas substituições é pelo Painel de Preferências do Sistema, com o nome de Segredos . Usando isso, você instala um Painel de Preferências nas Preferências do Sistema e fornece uma interface para escolher um aplicativo e alterar as configurações para sua preferência específica.
fonte
Encontrou um site dedicado a esses comandos de gravação padrão do Mac OS X, alguns comandos úteis para o Mac OS X Lion & Mountain Lion.
http://www.defaults-write.com
fonte
Realmente não existe uma noção de chaves "disponíveis". O aplicativo é gratuito para ler as chaves que desejar. A maioria das pessoas descobre chaves padrão "secretas" usando
strings
o binário do aplicativo para ver quais chaves ele tentará ler.fonte
A maioria das pessoas aqui quer fazer tudo através da linha de comando, mas tenho uma sugestão mais prática.
Esses dois programas descritos abaixo listam muitos dos recursos personalizáveis de linha de comando conhecidos dos aplicativos Mac OS X, classificados por aplicativo ou função. A vantagem é que a lista de funções é fornecida para você; você não precisa pesquisar no Google para descobrir quais são as funções e as seqüências de linha de comando necessárias para modificar cada uma.
Existem vários aplicativos comerciais ou freeware que fornecem uma interface gráfica com o usuário listando a maioria das opções de personalização que podem ser modificadas através do Terminal. Para ativar qualquer um desses recursos, usando esses programas que estou descrevendo, você o faz na GUI do aplicativo e não precisa usar a linha de comando. Você não precisa saber nada sobre
defaults write
ou.plist
arquivos.Dois desses aplicativos são:
TinkerTool
que é grátis e
MacPilot
que acaba de ser atualizado com os novos recursos do Lion e custa US $ 20,00.
Estes são os programas que eu possuo e uso.
Baixe o TinkerTool gratuito e a versão de teste do MacPilot e clique em todas as guias para ver todos os inúmeros recursos que você pode personalizar. Há muitos para listar aqui.
Atualizar
O desenvolvedor Frederik Wiker lançou aplicativos freeware (doações aceitas) para a criação de padrões, personalizações de gravação específicas para Lion e Mountain Lion; muitos deles também funcionam bem para o Mavericks (Mac OS X 10.9).
Faça o download destes e veja quais personalizações estão disponíveis para você.
Tweaks do leão
Ajustes na montanha
fonte
Talvez uma explicação bastante longa de como as coisas funcionem possa esclarecer a sua pesquisa e de outras pessoas por essas preferências "ocultas".
A maioria dos aplicativos lê seus arquivos de preferência uma vez quando inicia e a
defaults
ferramenta existe para garantir que os arquivos de preferência sejam uma estrutura válida e não contenham erros de sintaxe. (Ele também permite que o sistema altere como as chaves são armazenadas e as pessoas não precisam conhecer os detalhes da implementação e podem usar o comando defaults para fazer toda a leitura e gravação.)Os guias de estilo e gramática do idioma inglês garantem que as palavras digitadas aqui sejam significativas para o falante médio de inglês, e a padronização do sistema de padrões define uma estrutura para que todos saibam o que esperar. A formatação da lista de preferências é muito mais rígida e matemática do que uma linguagem humana, mas os conceitos são semelhantes.
O sistema padrão do usuário do Mac OS X é um armazenamento de valores-chave (ou banco de dados, se você preferir).
Você pode escrever qualquer coisa nessas lojas de valores-chave de preferência, um soneto de Shakespeare, números, uma lista de compras. Se o programa for codificado para procurar uma chave específica, ele lerá o valor armazenado. Se não está procurando essa chave - seu valor fica lá não utilizado e não lido.
Isso mostra como saber quais valores um programa específico pode estar procurando ao iniciar. Tudo se resume a você ou saber o valor ou fazer a engenharia reversa do programa.
Existem muitas ferramentas para examinar um programa e tentar descobrir quais seqüências de caracteres (as chaves) estão incorporadas, como
strings
dbx / lldb, além de vincular sua própria biblioteca para despejar a estrutura interna de um programa específico.Na prática, algumas coisas necessárias para o teste são adicionadas dessa maneira "oculta", para que você não possa examinar o painel de preferências do programa e ver esses novos recursos que não estão prontos para uso amplo. De certa forma, não é nada simples obter uma lista abrangente, a menos que o autor desse programa libere o código-fonte ou documente essas configurações publicamente.
Quando você lê o repositório de padrões de um aplicativo em particular - você está apenas lendo o "livro" que foi escrito quando o aplicativo criou seu conjunto padrão ou as configurações fornecidas com o Mac OS X. É por isso que você não recebe os detalhes completos lista de coisas que são realisticamente possíveis de mudar com esse aplicativo.
fonte
Até onde eu sei, um aplicativo só armazenará uma nova chave se diferir dos padrões, pelo menos é o que meus aplicativos fazem. Isso não é algo que pode ser controlado facilmente, pois faz parte da estrutura de padrões do usuário, pois o aplicativo apenas informa aos padrões do usuário o que ele precisa ser armazenado e cuida do resto. Não acho que as informações que você está procurando sejam facilmente obtidas, infelizmente. Poderia ser bom ter acesso a isso.
fonte