Posição do ícone da área de trabalho (acessar e manipular programaticamente)

8

Gostaria de acessar e manipular programaticamente as posições dos ícones da área de trabalho, seus ícones etc.

Isto é para arquivos e diretórios que você mantém no ~ / Desktop.

Onde essas coisas estão armazenadas?

David
fonte

Respostas:

8

Armazenado como atributos de metadados do GVFS.

Para obter todos os atributos de metadados do GVFS para arquivo / diretório:

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

Para obter um atributo específico - posição do ícone:

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

Para definir a posição do ícone:

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

Lembre-se de atualizar a área de trabalho (tecla F5) para ver o efeito.

Se for necessária manipulação de nível inferior, existe a API de extensão do Nautilus (via libnautilus):

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

e especificamente:

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

dess
fonte
Isso funciona bem para arquivos reais; também é possível acessar metadata::nautilus-icon-positionos ícones especiais que aparecem na área de trabalho para unidades USB, 'Casa', etc? gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/External-drive'diz "Esse arquivo ou diretório não existe".
Honore Doktorr
Os comandos estão agora gio infoe gio set, por exemplo, no Ubuntu 18.04.
David
Com o utilitário gio: Para obter todos os atributos de metadados do arquivo / diretório: gio info '/home/user/Desktop/Untitled Folder/' Para definir a posição do ícone: gio set --type=string '/home/user/Desktop/Untitled Folder/' 'metadata::nautilus-icon-position' '500,500'
PaulRM