Як програмно пройти шлях до шпалер на активному робочому столі?


1

Я намагаюся прокласти шлях до шпалер на активному робочому столі. Однак у мене виникають проблеми надійно отримати це.

Наступні джерела вказують, що ~/Library/Application Support/Dock/desktoppicture.dbце база даних sqlite з інформацією про фон.

Однак ці джерела задають новий фон і не намагаються читати вміст бази даних 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. Однак це не корисно, тому що я хочу отримати передумови, коли я випадково проїжджаю через каталог.

Відповіді:


2
tell application "System Events" to picture of desktop 1

Переглянути всі властивості:

tell application "System Events" to get properties of every desktop

Чи можете ви, будь ласка, зайнятися налагодженням у цій кімнаті чату - я переконався, що @highphi має доступ. Дякую!
Ян Ч.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.