Tôi chạy mã sau trong Terminal:
osascript "/Users/Me/Desktop/Run this script on wake.scpt"
Nếu hộp thoại đầu tiên của tệp .scpt của tôi là choose from list
hộp thoại, thì hộp thoại này sẽ không được chọn. Đó là, tôi không thể đơn giản nhấn enterphím để bấm "OK"; Trước tiên tôi phải nhấp vào bất cứ nơi nào trên hộp thoại để làm cho thanh trên cùng của hộp thoại thay đổi từ màu trắng sang màu xám và chỉ sau đó tôi mới có thể nhấn enterđể tiếp tục.
Để rõ ràng, hộp thoại đến phía trước chỉ tốt - nó chỉ đơn giản là không được chọn.
Tuy nhiên, nếu hộp thoại đầu tiên là một display dialog
hoặc display alert
hộp thoại, thì hộp thoại sẽ tự động được chọn. Nó chỉ xảy ra rằng hộp thoại ban đầu của tệp .scpt của tôi là một choose from list
hộp thoại.
Tôi đã thử viết activate me
trên dòng phía trên choose from list
hộp thoại, nhưng điều này không làm gì cả.
Khi tôi chạy "Chạy tập lệnh này trên Wake.scpt" từ bên trong Trình chỉnh sửa tập lệnh, choose from list
thực tế hộp thoại đã được chọn. Do đó, chúng tôi biết rằng vấn đề có liên quan đến osascript
.
Có ai có cách giải quyết để buộc choose from list
hộp thoại được tự động chọn không?
Tôi đã thử thực hiện lựa chọn mặc định bằng cách chèn default items
tham số trong choose from list
lệnh (mặc dù tôi không thực sự muốn có một mục mặc định tồn tại trong trường hợp này). Tôi nghĩ rằng làm điều này có thể buộc hộp thoại được chọn. Tuy nhiên, hộp thoại danh sách không được chọn.
Như một phương sách cuối cùng, tôi cho rằng tôi có thể sử dụng AppleScript để nhấp chuột vào giữa màn hình (nơi đặt hộp thoại). Nhưng, tôi thích một giải pháp thanh lịch hơn, vì AppleScript có thể không đáng tin cậy khi nhấp chuột.
Nếu bạn đang tự hỏi tại sao tôi lại tuyển dụng osascript
ở nơi đầu tiên, thì đó là vì tôi đang sử dụng SleepWatcher để tự động chạy AppleScript khi máy tính của tôi thức dậy. ( Đây là một hướng dẫn rất hữu ích mà tôi đã sử dụng để thiết lập SleepWatcher.)
Đây là toàn văn của tệp .wakeup của tôi:
#!/bin/bash
osascript "/Users/Me/Desktop/Run this script on wake.scpt"
activate application "Terminal"
KHÔNG được "tôi" (= osascript) về