Я хотел бы программно получить доступ и управлять позициями значков на рабочем столе, их значками и т. Д.
Это для файлов и каталогов, которые вы храните в ~ / Desktop.
Где хранится этот материал?
Хранится как атрибуты метаданных GVFS.
Чтобы получить все атрибуты метаданных GVFS для файла / каталога:
gvfs-info '/home/user/Desktop/Untitled Folder/'
Чтобы получить определенный атрибут - положение значка:
gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/Untitled Document/'
Чтобы установить положение значка:
gvfs-set-attribute -t string '/home/user/Desktop/Untitled Document/' 'metadata::nautilus-icon-position' '500,500'
Не забудьте обновить рабочий стол (клавиша F5), чтобы увидеть эффект.
Если требуются манипуляции более низкого уровня, существует API расширения Nautilus (через libnautilus):
https://developer.gnome.org/libnautilus-extension/stable/
и конкретно:
https://developer.gnome.org/libnautilus-extension/stable/NautilusFileInfo.html
metadata::nautilus-icon-position
к специальным значкам, которые появляются на рабочем столе для USB-накопителей, «Дом» и т. д.?gvfs-info -a 'metadata::nautilus-icon-position' '/home/user/Desktop/External-drive'
говорит «Нет такого файла или каталога».gio info
иgio set
, например на Ubuntu 18.04.gio info '/home/user/Desktop/Untitled Folder/'
установить положение значка:gio set --type=string '/home/user/Desktop/Untitled Folder/' 'metadata::nautilus-icon-position' '500,500'