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 listhộ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 dialoghoặc display alerthộ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 listhộp thoại.
Tôi đã thử viết activate metrên dòng phía trên choose from listhộ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 listthự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 listhộ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 itemstham số trong choose from listlệ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ề