Onde as informações da pasta de airmazenamento do launchpad airmazenam? (database, etc.?)

Então eu estive procurando e tentando descobrir isso, mas não consigo.

Eu sei que o database SQLite db está airmazenado em ~/Librairy/Application Support/Dock/some-uuid.db ( ref ), mas, como melhor, posso dizer que não pairece include nenhuma informação sobre pastas criadas no launchpad.

Alguém sabe onde esta informação está airmazenada e em que format?

Editair: Encontrou a localization, detalhes na minha resposta abaixo. Os únicos bits que não consigo descobrir agora são:

  • Como criair programaticamente uma nova pasta e moview aplicativos paira ela (usando este db)
  • O que os files db-shm e db-wal são usados.
    • Arquivos temporários SQLite (gravação de files de memory e files compairtilhados em frente)
  • Se ~/Librairy/Application Support/Dock/some-uuid.db é usado, ou se fosse apenas sobra de uma atualização OSX.

Ok, acho que findi. Descreva que (pelo less sob El Capitan) as coisas são um pouco diferentes.

Esta resposta AskDifferent de Greg Hacke me apontou na direção certa.

Pairece que os bancos de dados são airmazenados em $TMPDIR/../0/com.apple.dock.launchpad/db/ , com o db sqlite principal apropriadamente chamado db .

(Depois de ler a resposta AskDifferent de Geoff Hackworth , pairece que uma maneira melhor de obter o path seria getconf DARWIN_USER_DIR vez de $TMPDIR/../0/ )

Editair isso com uma GUI de sqlite mostrou que a tabela de groups airmazena as pastas, com o title segurando o nome da pasta.

Depois de fazer as alterações desejadas, e escrevê-las de volta paira o db, ainda precisamos fazer um killall Dock paira atualizair a canvas do painel de boot.

Algumas observações:

  • Há uma série de grupos que não possuem um title (definido como nulo), por isso não está realmente certo paira o que são.
  • Pairece que apenas criair uma nova input não faz apairecer um grupo (talvez porque seria uma "pasta vazia"?).
    • Nesse caso, como podemos criair uma nova pasta e moview aplicativos paira ela a pairtir do db?
  • Ao editair o campo do title na tabela de apps , podemos alterair o nome de exibição do aplicativo.