I'd like to programmatically access and manipulate the Desktop icon positions, their icons, etc.
This is for files and directories that you keep in ~/Desktop .
Where is this stuff stored?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityStored as GVFS metadata attributes.
To get all GVFS metadata attributes for file/directory:
gvfs-info '/home/user/Desktop/Untitled Folder/'
To get specific attribute - icon position:
gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/Untitled Document/'
To set icon position:
gvfs-set-attribute -t string '/home/user/Desktop/Untitled Document/' 'metadata::nautilus-icon-position' '500,500'
Remember to refresh desktop (F5 key) to see effect.
If lower level manipulation required there is Nautilus Extension API (via libnautilus):
https://developer.gnome.org/libnautilus-extension/stable/
and specifically:
https://developer.gnome.org/libnautilus-extension/stable/NautilusFileInfo.html
metadata::nautilus-icon-position
for the special icons that appear on the desktop for USB drives, ‘Home’, etc? gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/External-drive'
says “No such file or directory”.
– Honore Doktorr
Jan 11 '17 at 22:17
gio info '/home/user/Desktop/Untitled Folder/'
To set icon position: gio set --type=string '/home/user/Desktop/Untitled Folder/' 'metadata::nautilus-icon-position' '500,500'
– PaulRM
Jan 27 '20 at 13:40