Bản cập nhật Lion mới nhất đã phá vỡ một osascript Geeklet đơn giản sử dụng Sự kiện hệ thống để tra cứu tên ảnh nền. Chạy lệnh liên quan từ thiết bị đầu cuối trả về cùng một tên, mọi lúc, mặc dù hình ảnh đang thay đổi mỗi phút.
Mã dưới đây hoạt động cho màn hình chính trên máy Mac hai đầu của tôi cho đến lần cập nhật cuối cùng này:
osascript -e 'tell application "System Events" to get value of (property list item "LastName" of property list item "default" of property list item "Background" of property list file ((path to preferences as Unicode text) & "com.apple.desktop.plist"))'
Màn hình phụ có id mã hóa cứng trong đó "mặc định" đi; Tôi đã sử dụng ID số, mọi thứ tôi có thể nghĩ ra.
Điều đặc biệt khó chịu là một bãi chứa chỉ sử dụng 'mục danh sách thuộc tính "Nền' trong tập lệnh trên hiển thị tên tệp mới với" LastName "thích hợp. Nhưng chạy tập lệnh ở trên luôn trả về cùng hai tên, các tệp ban đầu được hiển thị trong Tùy chọn Desktop / Screen Saver.
Tôi không phải là một AppleScript hoặc System Events / plist guru, và bất kỳ trợ giúp nào cũng sẽ được đánh giá cao.
- NGÀY--
Sửa đổi phần tử Spaces của nhà cung cấp trên OSX để đặt máy tính để bàn mặc định và một số thử nghiệm với lệnh "mặc định" đã dẫn đến điều sau (ít lý tưởng hơn do các id được nhúng, nhưng ...)
osascript -e 'tell application "System Events" to get value of (property list item "LastName" of property list item "722492885" of property list item "" of property list item "spaces" of property list item "Background" of property list file ((path to preferences as Unicode text) & "com.apple.desktop.plist"))'
Tôi chắc chắn mở cho các giải pháp thanh lịch hơn nhưng chúng phải phản ánh tên tệp thay đổi với "Ngẫu nhiên" được đặt trong Tùy chọn màn hình. Tôi thậm chí muốn xem một phiên bản dễ đọc hơn của những gì được đăng ở trên - tất cả một dòng. Tôi chắc chắn có những cách tốt hơn để đặt ra điều này!
defaults read com.apple.Desktop Background
nhưng tôi không biết làm thế nào để chỉ địnhdefault:ImageFilePath
.