Onde o Launchpad armazena as informações da pasta? (banco de dados, etc?)


2

Então eu tenho procurado e tentando descobrir isso, mas não consigo.

Eu sei que o banco de dados SQLite db é armazenado em ~/Library/Application Support/Dock/some-uuid.db( ref ), mas o melhor que posso dizer que não parece incluir informações sobre pastas criadas no launchpad.

Alguém sabe onde esta informação é armazenada e em que formato?

Edit: Encontrei o local, detalhes na minha resposta abaixo. Os únicos pedaços que não consigo descobrir agora são:

  • Como programaticamente criar uma nova pasta e mover aplicativos para ela (usando esse banco de dados)
  • O que os arquivos db-shme db-walsão usados ​​para.
  • Se ~/Library/Application Support/Dock/some-uuid.dbé usado em tudo mais, ou se foi apenas sobra de uma atualização osx.

Respostas:


3

Ok, acho que encontrei. Acontece que (pelo menos sob El Capitan) as coisas são um pouco diferentes.

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

Parece que os bancos de dados são armazenados $TMPDIR/../0/com.apple.dock.launchpad/db/, com o banco de dados sqlite principal sendo apropriadamente chamado db.

(Depois de ler a resposta AskDifferent de Geoff Hackworth , parece que a melhor maneira de obter o caminho seria em getconf DARWIN_USER_DIRvez de $TMPDIR/../0/)

Editar isso com uma GUI do sqlite mostrou que a groupstabela armazena as pastas, titlemantendo o nome da pasta.

Depois de fazer as alterações desejadas e gravá-las no banco de dados, ainda precisamos fazer um killall Dockpara atualizar a tela da barra de lançamento.

Algumas observações:

  • Há vários grupos que não têm um title(definido como nulo), portanto, não temos certeza do que eles são.
  • Parece que apenas criar uma nova entrada não faz com que um grupo apareça (talvez porque seria uma 'pasta vazia'?).
    • Neste caso, como podemos criar uma nova pasta e mover aplicativos para ela a partir do banco de dados?
  • Ao editar o titlecampo na appstabela, podemos alterar o nome de exibição do aplicativo.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.