Wo speichert Launchpad Ordnerinformationen? (Datenbank usw.?)

Also habe ich herumgesucht und versucht, das herauszufinden, aber ich kann nicht scheinen.

Ich weiß, dass die Launchpad-SQLite-Datenbank unter ~/Library/Application Support/Dock/some-uuid.db( ref ) gespeichert ist, aber soweit ich das beurteilen kann, scheint sie keine Informationen zu Ordnern zu enthalten, die im Launchpad erstellt wurden.

Weiß jemand, wo diese Informationen gespeichert sind und in welchem ​​Format?

Bearbeiten: Ort gefunden, Details in meiner Antwort unten. Die einzigen Punkte, die ich jetzt nicht herausfinden kann, sind:

  • So erstellen Sie programmgesteuert einen neuen Ordner und verschieben Apps hinein (mithilfe dieser Datenbank)
  • Wofür die Dateien db-shmund db-walverwendet werden.
  • Ob ~/Library/Application Support/Dock/some-uuid.dbes überhaupt noch verwendet wird oder nur von einem OSX-Upgrade übrig geblieben ist.

Antworten (1)

Okay, ich glaube, ich habe es gefunden. Es stellt sich heraus, dass (zumindest unter El Capitan) die Dinge ein wenig anders sind.

Diese AskDifferent-Antwort von Greg Hacke wies mich in die richtige Richtung.

Es scheint, dass die Datenbanken darin gespeichert sind $TMPDIR/../0/com.apple.dock.launchpad/db/, wobei die Haupt-sqlite-Datenbank treffend benannt ist db.

(Nachdem ich die AskDifferent -Antwort von Geoff Hackworth gelesen habe , scheint es ein besserer Weg zu sein, den Pfad zu erhalten, als )getconf DARWIN_USER_DIR$TMPDIR/../0/

Das Bearbeiten mit einer SQLite-GUI zeigte, dass die groupsTabelle die Ordner speichert, wobei titleder Ordnername enthalten ist.

Nachdem wir alle gewünschten Änderungen vorgenommen und sie in die Datenbank zurückgeschrieben haben, müssen wir noch a tun, killall Dockum den Launchpad-Bildschirm zu aktualisieren.

Einige Beobachtungen:

  • Es gibt eine Reihe von Gruppen, die kein title(auf null gesetzt) ​​haben, also nicht wirklich sicher sind, wofür sie sind.
  • Es scheint, dass das Erstellen eines neuen Eintrags nicht dazu führt, dass eine Gruppe angezeigt wird (vielleicht, weil es sich um einen "leeren Ordner" handelt?).
    • Wie können wir in diesem Fall einen neuen Ordner erstellen und Apps aus der Datenbank dorthin verschieben?
  • Durch Bearbeiten des titleFeldes in der appsTabelle können wir den Anzeigenamen der App ändern.