Posición del icono del escritorio (acceso y manipulación mediante programación)

8

Me gustaría acceder y manipular mediante programación las posiciones de los íconos del escritorio, sus íconos, etc.

Esto es para archivos y directorios que mantiene en ~ / Desktop.

¿Dónde se almacenan estas cosas?

David
fuente

Respuestas:

8

Almacenado como atributos de metadatos GVFS.

Para obtener todos los atributos de metadatos de GVFS para el archivo / directorio:

gvfs-info '/home/user/Desktop/Untitled Folder/'

Para obtener un atributo específico: posición del icono:

gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/Untitled Document/'

Para establecer la posición del icono:

gvfs-set-attribute -t string '/home/user/Desktop/Untitled Document/' 'metadata::nautilus-icon-position' '500,500'

Recuerde actualizar el escritorio (tecla F5) para ver el efecto.

Si se requiere una manipulación de nivel inferior, hay Nautilus Extension API (a través de libnautilus):

https://developer.gnome.org/libnautilus-extension/stable/

y específicamente:

https://developer.gnome.org/libnautilus-extension/stable/NautilusFileInfo.html

dess
fuente
Esto funciona bien para archivos reales; ¿También es posible acceder metadata::nautilus-icon-positiona los iconos especiales que aparecen en el escritorio para unidades USB, 'Inicio', etc.? gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/External-drive'dice "No existe tal archivo o directorio".
Honore Doktorr
Los comandos son ahora gio infoy gio set, por ejemplo, en Ubuntu 18.04.
David
Con la utilidad gio: Para obtener todos los atributos de metadatos para el archivo / directorio: gio info '/home/user/Desktop/Untitled Folder/' Para establecer la posición del icono: gio set --type=string '/home/user/Desktop/Untitled Folder/' 'metadata::nautilus-icon-position' '500,500'
PaulRM