Я намагаюся прокласти шлях до шпалер на активному робочому столі. Однак у мене виникають проблеми надійно отримати це.
Наступні джерела вказують, що ~/Library/Application Support/Dock/desktoppicture.db
це база даних sqlite з інформацією про фон.
- http://grahamgilbert.com/blog/2013/10/28/setting-a-desktop-picture-in-mavericks/
- gist.github.com/gregneagle/6225747 (Чи може хтось із префіксом цього
http
? СЕ заважає мені публікувати більше 2 посилань через мою низьку репутацію на цій дошці)
Однак ці джерела задають новий фон і не намагаються читати вміст бази даних sqlite для активного робочого столу.
Я завантажив вміст цього файлу у свою систему та завантажив його як суть на https://gist.github.com/bamos/6c5fb63ec1d9b8dc9205 .
Цей файл, здається, містить інформацію про екрани, і при читанні останнього значення, data
здається, іноді отримують активні шпалери
.
- Чи є спосіб, яким я можу використовувати
desktoppicture.db
шпалери на активному робочому столі кожного разу? - Чи є інший спосіб я запрограмувати програмно шлях до активних шпалер?
Редагувати: forums.macrumors.com/showthread.php?t=1525299 (може хтось додати http?) - це ще одне джерело отримання цієї інформації за допомогою AppleScript, але чомусь наступний фрагмент повертається, Wave.jpg
коли Wave.jpg
шпалери не є активними.
tell application "Finder"
set theDesktopPic to desktop picture
set theName to displayed name of theDesktopPic
display dialog theName
end tell
Щоб уточнити, мої шпалери встановлюються випадковим чином по каталогу.
Я спробував виконати таку команду, як запропоновано у відповідях.
tell application "System Events" to get properties of every desktop
Однак у моїй системі це виводить:
display name:Color LCD, change interval:1800.0, id:69731840, random order:true, picture rotation:1, pictures folder:/Users/bamos/Pictures/wallpaper/nature, picture:/Library/Desktop Pictures/Wave.jpg, translucent menu bar:missing value, class:desktop,
який не включає шпалери активного робочого столу.
Я відключив випадкові зображення на велосипеді та
osascript -e 'tell application "Finder" to set desktop picture to {"Macintosh HD:Library:Desktop Pictures:Beach.jpg"} as alias'
міняє моє тло на фондові шпалери на пляжі та
osascript -e 'tell application "System Events" to get properties of every desktop'
тепер показує picture:/Library/Desktop Pictures/Beach.jpg
. Однак це не корисно, тому що я хочу отримати передумови, коли я випадково проїжджаю через каталог.