Casi puedes llegar con un poco de Applescript.
Esta secuencia de comandos leerá todos los "Hijos" de su archivo de marcadores existente y los volverá a escribir en el orden que especifique. Los "niños" consisten primero en Historia, Barra de marcadores, Menú de marcadores y Lista de lectura, por lo que es posible que desee dejar los primeros 4 elementos en su lugar. Después de eso, especifique el orden que desee, encontrando automáticamente un orden alfabético dejado como ejercicio.
set tfile to (path to library folder from user domain as text) & "Safari:BookmarksWorking.plist"
tell application "System Events"
set childrenOrdered to make new property list item at end of property list items of contents of property list file tfile with properties {kind:list, name:"childrenOrdered"}
set myOrdering to {1, 2, 3, 4, 6, 5, 7} -- your preferred order
repeat with i in myOrdering
set thisChild to (property list item i of property list item "Children" of property list file tfile)
set thisKind to kind of thisChild
set thisValue to value of thisChild
tell childrenOrdered
make new property list item at end with properties {kind:thisKind, value:thisValue}
end tell
end repeat
-- Instead of overwriting the contents of "Children", this empties the whole file. So do the rename manually for now.
--set (value of (property list item "Children" of property list file tfile)) to (value of childrenOrdered)
end tell
Esperaba que la última línea set
del script reemplazara el contenido de "Children" con la matriz ordenada. Desafortunadamente, esto parece resultar en un archivo vacío (0 bytes). AppleScript considera que el campo del nombre es de solo lectura, por lo que cambiarlo en su lugar tampoco funcionará.
Sin embargo, cambiar el nombre manualmente de los elementos en un editor de listas de propiedades (XCode, editor de texto, etc.) para que se desplace a Children y se ordene a los niños en su lugar, hace que el nuevo orden aparezca en Safari al reiniciar. >
Bastante torpe, pero si se dirige en la dirección correcta, se podría limpiar y automatizar.