เมื่อเปิดไฟล์ DMG ฉันจะเปิดไฟล์ให้เปิดหน้าหน้าต่างได้อย่างไร


21

เมื่อใดก็ตามที่ฉันดาวน์โหลด.dmgไฟล์แล้วเปิดมัน (โดยปกติจากแถบดาวน์โหลดใน Chrome) มันจะเปิดขึ้นในพื้นหลัง มีวิธีใดบ้างไหมที่จะเปิดหน้าหน้าต่างของฉัน?

แก้ไข

เพื่อชี้แจง: ฉันต้องการให้หน้าต่าง DMG ปรากฏขึ้นเป็นหน้าต่างที่ใช้งานอยู่


เมื่อคุณพูดเปิดมันคุณจะเปิดจากที่ไหน เบราว์เซอร์ของคุณ? Finder?
conorgriffin

1
ฉันค่อนข้างแน่ใจว่าเขาหมายถึง "ปรากฏขึ้น" หลังหน้าต่างที่ใช้งานอยู่ของคุณ เขาต้องการให้ป๊อปอัปอยู่หน้าหน้าต่างที่ใช้งานอยู่ของเขา
Ryan Wersal

นั่นคือสิ่งที่ฉันหมายถึงไรอัน
Epaga

บ่อยครั้งที่ฉันเปิดมันจากเบราว์เซอร์ แต่ฉันคิดว่าแม้จาก Finder มันเปิดอยู่ด้านหลังหน้าต่างที่ใช้งานอยู่ ...
Epaga

คุณจัดการเพื่อให้วิธีการแก้ปัญหาของฉันทำงานหรือยัง ถ้าไม่ฉันสามารถเข้าไปดูรายละเอียดเพิ่มเติมเพื่อช่วยคุณ ...
Asmus

คำตอบ:


5

ฉันสร้างสคริปต์ 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

แก้ไขต้องเป็น "รูปดิสก์" ไม่ใช่ "รูปภาพ"


ว้าว - เจ๋งมาก โชคไม่ดีเมื่อฉันคลิกสองครั้งมันบอกว่า "คุณไม่สามารถเปิดแอปพลิเคชันได้เนื่องจากสภาพแวดล้อมแบบคลาสสิกไม่ได้รับการสนับสนุนอีกต่อไป" พูดว่าอะไรนะ??
Epaga

ฉันลอง chmod a + x แต่ก็ยังให้ข้อความข้อผิดพลาดนั้น
Epaga

ไม่จำเป็นต้องเปลี่ยนสคริปต์นี้! ให้ฉันให้รายละเอียดเพิ่มเติมเล็กน้อยจาก / Applications / Utilites / เปิด applescript-editor และวางโค้ดที่ฉันโพสต์ไว้ด้านบนลงในหน้าต่างใหม่ ในช่องโต้ตอบ "บันทึก ... " เลือก "แอปพลิเคชัน" เป็นรูปแบบไฟล์และตรวจสอบให้แน่ใจว่าไม่ได้เลือกช่องทำเครื่องหมาย "ตัวเลือก" เมื่อบันทึกลงใน / Library / Scripts / Folder Action Scripts / แล้วควรจะปรากฏขึ้นในเมนู "ตั้งค่าการกระทำโฟลเดอร์" คุณมาถึงจุดนั้นได้หรือไม่?
Asmus

ขอบคุณสำหรับทีละขั้นตอน ฉันไปได้ไกลและเปิดใช้งานสคริปต์นั้นสำหรับโฟลเดอร์ดาวน์โหลด ฉันคลิกสองครั้งที่สคริปต์และสามารถตั้งค่าให้เปิดเครื่องมือค้นหา น่าเสียดายที่มันดูเหมือนจะไม่มีผลใด ๆ เลย ... ไม่เมื่อดาวน์โหลดไฟล์ dmg นอกเน็ตหรือแม้แต่ตอนที่ฉันลากไฟล์ dmg ไปไว้ในโฟลเดอร์ก็ไม่มีอะไรเกิดขึ้น แปลกใช่มั้ย
Epaga

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

3

จากสิ่งที่ฉันสามารถบอกได้ OS X จะแสดงเนื้อหาของดิสก์อิมเมจโดยอัตโนมัติหากเป็นแบบอ่านอย่างเดียว นี่คือดินสอที่มีเครื่องหมายสแลชผ่านในด้านล่างซ้ายของหน้าต่าง Finder เมื่อดูเนื้อหาของภาพ

ถ้าคุณต้องการเปลี่ยนดิสก์อิมเมจเพื่อที่จะทำสิ่งนี้คุณสามารถสร้างอิมเมจดิสก์ที่มีอยู่เป็นแบบอ่านอย่างเดียวโดยใช้ Disk Utility น่าเสียดายที่สิ่งนี้จะไม่เปลี่ยนพฤติกรรมของรูปภาพที่ผลิตอย่างไม่ถูกต้องซึ่งคุณสามารถดาวน์โหลดได้จากอินเทอร์เน็ต

  1. เมานต์อิมเมจของดิสก์ที่คุณต้องการเปิดอัตโนมัติ
  2. เปิด Disk Utility โดยค้นหาด้วย Spotlight
  3. เลือกไอคอน "ภาพใหม่" ในแถบเครื่องมือ
  4. ตั้งชื่อไฟล์และเลือก "อ่านอย่างเดียว" ใน "รูปแบบรูปภาพ" กล่องโต้ตอบรูปภาพใหม่
  5. คลิก "บันทึก" เมื่อคุณเมานต์รูปภาพใหม่มันจะปรากฏขึ้นโดยอัตโนมัติเปิดหน้าต่าง Finder

น่าสนใจขอบคุณ! แต่อย่างที่คุณพูดด้วยตัวคุณเองมันไม่ได้ช่วยฉันด้วยปัญหาที่แท้จริงของฉันซึ่งเป็น DMGs ที่ดาวน์โหลดจากอินเทอร์เน็ต ... ถ้าฉันทำทั้งหมดนี้มันจะง่ายกว่าที่จะเปิด DMG แล้ว Cmd-Tab ที่ด้านหน้า ...
Epaga

0

สิ่งนี้อาจไม่ตอบคำถามอย่างเพียงพอ แต่ ...

หากคุณกดคำสั่งแล้วคลิกที่รายการในแถบดาวน์โหลดรายการนั้นจะแสดงรายการในตัวค้นหา ณ จุดนั้นเพียงแค่กด command-O (หรือดับเบิลคลิกที่ไฟล์ dmg) จะทำการเมานท์และเปิดมันในหน้าต่างใหม่ในเบื้องหน้า


1
OP ตระหนักดีถึงวิธีการเปิดไฟล์ dmg เขา (และคนอื่น ๆ ) กำลังมองหาวิธีที่จะแทนที่พฤติกรรมของ Finder's "popping ภายใต้" หน้าต่างที่แสดงเนื้อหา dmg
Ryan Wersal

อ๋อวิเวกไม่ถูกต้องปัญหาเหล่านี้จริง ๆ สิ่งที่ผู้ขอร้องคือพฤติกรรมเริ่มต้นของ Safari ฉันเชื่อว่านี่เป็นปัญหาของ Chrome โดยเฉพาะ
user5583
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.