เมื่อใดก็ตามที่ฉันดาวน์โหลด.dmg
ไฟล์แล้วเปิดมัน (โดยปกติจากแถบดาวน์โหลดใน Chrome) มันจะเปิดขึ้นในพื้นหลัง มีวิธีใดบ้างไหมที่จะเปิดหน้าหน้าต่างของฉัน?
แก้ไข
เพื่อชี้แจง: ฉันต้องการให้หน้าต่าง DMG ปรากฏขึ้นเป็นหน้าต่างที่ใช้งานอยู่
เมื่อใดก็ตามที่ฉันดาวน์โหลด.dmg
ไฟล์แล้วเปิดมัน (โดยปกติจากแถบดาวน์โหลดใน Chrome) มันจะเปิดขึ้นในพื้นหลัง มีวิธีใดบ้างไหมที่จะเปิดหน้าหน้าต่างของฉัน?
แก้ไข
เพื่อชี้แจง: ฉันต้องการให้หน้าต่าง DMG ปรากฏขึ้นเป็นหน้าต่างที่ใช้งานอยู่
คำตอบ:
ฉันสร้างสคริปต์ Folder Action ใน Applescript ซึ่งอาจทำในสิ่งที่คุณต้องการ คัดลอกและวางลงใน Applescript ใหม่และบันทึกเป็นแอปพลิเคชัน (โดยไม่ต้องมีกล่องโต้ตอบเริ่มต้น!) ลงใน "/ Library / Scripts / Folder Action Scripts /" จากนั้นคุณสามารถแนบไฟล์กับโฟลเดอร์ใดก็ได้ (ส่วนใหญ่ ~ / ดาวน์โหลด / โฟลเดอร์ของคุณ) โดยคลิกขวาที่โฟลเดอร์และเลือก "กำหนดค่าการกระทำของโฟลเดอร์" จากเมนูแบบเลื่อนลงบริการ เปิดใช้งานการทำงานของโฟลเดอร์และให้สคริปต์ดูโฟลเดอร์
สิ่งที่สคริปทำคือทำปฏิกิริยากับรายการที่ถูกดร็อปไว้ในโฟลเดอร์ที่แนบมาและถ้ารายการที่หล่นเป็นชนิด: "รูปภาพ" มันจะแนบรูปภาพเป็นไดรฟ์ข้อมูลผ่านเครื่องมือบรรทัดคำสั่ง "hdiutil"
คุณสามารถกำหนดค่าพฤติกรรมโดยการตั้งค่าคุณสมบัติ openWindow และ makeFrontmost ในสคริปต์ สิ่งนี้สามารถทำได้โดยการดับเบิลคลิกที่สคริปต์หลังจากที่คุณบันทึกเป็นแอปพลิเคชัน - จากนั้นจะถามในสองบทสนทนาเกี่ยวกับสิ่งที่พฤติกรรมมาตรฐานควรจะเป็น
ฉันหวังว่านี่จะช่วยได้,
Asmus
property openWindow : true
property makeFrontmost : true
on run
display dialog "Do you want to bring the Finder to the front after new items are added?" buttons {"Don't Activate", "Activate"} default button 2
if the button returned of the result is "Don't Activate" then
set makeFrontmost to false
else
set makeFrontmost to true
end if
display dialog "Open Folder after adding new files?" buttons {"Don't Open", "Open"} default button 2
if the button returned of the result is "Don't Open" then
set openWindow to false
else
set openWindow to true
end if
end run
on adding folder items to thisFolder after receiving addedItems
repeat with i from 1 to number of items in addedItems
set itemKind to the kind of (info for item i of addedItems) as string
if itemKind is "Disk Image" then
set itemPath to (quoted form of POSIX path of item i of addedItems)
try
showImage(itemPath)
end try
end if
end repeat
end adding folder items to
on showImage(itemPath)
set volumeMountpointInfo to do shell script "/usr/bin/hdiutil attach " & itemPath & " | grep Volumes"
if (openWindow is true) then
if (makeFrontmost is true) then
tell application "Finder" to activate
end if
set currentDelim to text item delimiters
set text item delimiters to tab
set volumeMountpoint to POSIX file (text item 3 of volumeMountpointInfo)
set text item delimiters to currentDelim
tell application "Finder" to open folder volumeMountpoint
end if
end showImage
====
Applescript ที่สองเพื่อกำหนดประเภทของไฟล์ที่ถูกดร็อปไว้ในโฟลเดอร์
On adding folder items to thisFolder after receiving addedItems
repeat with i from 1 to number of items in addedItems
set itemKind to the kind of (info for item i of addedItems) as string
display dialog itemKind
end repeat
end adding folder items to
แก้ไขต้องเป็น "รูปดิสก์" ไม่ใช่ "รูปภาพ"
จากสิ่งที่ฉันสามารถบอกได้ OS X จะแสดงเนื้อหาของดิสก์อิมเมจโดยอัตโนมัติหากเป็นแบบอ่านอย่างเดียว นี่คือดินสอที่มีเครื่องหมายสแลชผ่านในด้านล่างซ้ายของหน้าต่าง Finder เมื่อดูเนื้อหาของภาพ
ถ้าคุณต้องการเปลี่ยนดิสก์อิมเมจเพื่อที่จะทำสิ่งนี้คุณสามารถสร้างอิมเมจดิสก์ที่มีอยู่เป็นแบบอ่านอย่างเดียวโดยใช้ Disk Utility น่าเสียดายที่สิ่งนี้จะไม่เปลี่ยนพฤติกรรมของรูปภาพที่ผลิตอย่างไม่ถูกต้องซึ่งคุณสามารถดาวน์โหลดได้จากอินเทอร์เน็ต
สิ่งนี้อาจไม่ตอบคำถามอย่างเพียงพอ แต่ ...
หากคุณกดคำสั่งแล้วคลิกที่รายการในแถบดาวน์โหลดรายการนั้นจะแสดงรายการในตัวค้นหา ณ จุดนั้นเพียงแค่กด command-O (หรือดับเบิลคลิกที่ไฟล์ dmg) จะทำการเมานท์และเปิดมันในหน้าต่างใหม่ในเบื้องหน้า