Положение значка на рабочем столе (программный доступ и манипулирование)


8

Я хотел бы программно получить доступ и управлять позициями значков на рабочем столе, их значками и т. Д.

Это для файлов и каталогов, которые вы храните в ~ / Desktop.

Где хранится этот материал?

Ответы:


8

Хранится как атрибуты метаданных 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: получить все атрибуты метаданных для файла / каталога: gio info '/home/user/Desktop/Untitled Folder/' установить положение значка: gio set --type=string '/home/user/Desktop/Untitled Folder/' 'metadata::nautilus-icon-position' '500,500'
PaulRM
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.