วิธีเปลี่ยนเป็นหน้าต่างโมดอลในพื้นหลัง


0

ฉันไม่ทราบว่าปัญหานี้เป็นปัญหาเฉพาะสำหรับ Quicksilver หรือปัญหาทั่วไปเกี่ยวกับหน้าต่างโมดัล ฉันใช้ QS เพื่อเปิด applescript:

"run 'command' with administrator privileges"

แต่หน้าต่างโมดัลจาก QS เพื่อป้อนรหัสผ่านของฉันจะปรากฏขึ้นโดยไม่ต้องโฟกัส ฉันไม่สามารถคลิกเมาส์ด้วยหน้าต่างเพื่อที่จะสามารถเปิดใช้งานได้ ฉันเดาว่านี่เป็นเพราะ QS ได้เปิดตัว applescript "ในพื้นหลัง" เหมือนเดิมและกลับมาโฟกัสที่แอพก่อนหน้าแล้ว

มีวิธีสลับไปยังหน้าต่างโมดัลนี้โดยใช้การกระทำของแป้นพิมพ์หรือไม่? มันเป็นสิ่งที่ฉันต้องทำทุกเช้าและมันน่ารำคาญมากที่ต้องสลับไปใช้มันด้วยเมาส์ทุกครั้ง ฉันไม่สามารถใช้แท็บคำสั่งกับ Quicksilver ได้เมื่อไดอะล็อกแอ็คทีฟ

คำตอบ:


2

คุณสามารถมุ่งเน้น SecurityAgent:

osascript -e 'do shell script "ls /var/root" with administrator privileges' &
open -a SecurityAgent

การแสดงข้อความโต้ตอบ:

tell application (path to frontmost application as text)
    --activate
    display dialog "" default answer ""
end tell

⌃F6 (เลื่อนโฟกัสไปที่หน้าต่างลอย) ไม่ทำงานกับกล่องโต้ตอบรหัสผ่านและ Witch ไม่ได้รวมไว้ด้วย คุณอาจใช้สคริปต์เช่นนี้แม้ว่า:

tell application "System Events"
    repeat with p in {"SecurityAgent", "CoreServicesUIAgent", "loginwindow"}
        if exists process p then
            tell process p
                if windows is not {} then
                    set frontmost to true
                    exit repeat
                end if
            end tell
        end if
    end repeat
end tell

CoreServicesUIAgent จะแสดงกล่องโต้ตอบผู้รักษาประตูและกักกัน loginwindow แสดงหลายกล่องโต้ตอบที่แสดงเมื่อออกจากระบบ


ขอบคุณสำหรับข้อมูล. ฉันไม่สามารถรับตัวอย่างด้านบนเพื่อทำงานในสคริปต์ของฉัน แต่พวกเขาชี้ไปในทิศทางที่ถูกต้อง
Zac Thompson

0

วิธีแก้ปัญหานั้นชัดเจนเมื่อฉันเห็นมันก่อนอื่นให้ทำ Quicksilver เป็นแอปพื้นหน้าจากนั้นจะไม่กลับไปโฟกัสที่แอปอื่นเมื่อสคริปต์ทำงาน

tell application "Quicksilver" to activate
do shell script "pmset -c displaysleep 180" with administrator privileges
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.