เมื่อ Mac ของคุณใหม่ เมนูบริบท (context menu) จะสั้นและเรียบง่าย และในส่วนใหญ่มันจะคงอยู่ที่นั้น แต่หากคุณต้องการเพิ่มหรือลด คุณมีความยืดหยุ่นจำกัดภายใต้ macOS
น่าเสียดายที่เมนูบริบทของ macOS ไม่ยืดหยุ่นเท่า Windows ใน Windows รายการเมนูบริบทเกือบทุกอย่างสามารถลบได้ด้วยการแฮ็ก registry เล็กน้อย แต่ในฐานะระบบปฏิบัติการที่ "ล็อกดาวน์" มากกว่า macOS ไม่เสนอวิธีง่ายในการทำเช่นนั้น
เพื่อแก้ไขเมนูบริบทแบบที่ Dropbox ทำ ตัวอย่างเช่น คุณจะต้องแฮ็กแอปพลิเคชัน Finder เอง นั่นอยู่นอกขอบเขตของความรู้และโพสต์นี้ทั้งคู่ ดังนั้นเราจะคงอยู่ที่วิธีที่เราสามารถควบคุมสิ่งที่ปรากฏในเมนูบริบท
เพิ่ม/ลบบริการจากเมนูบริบทใน Mac
วิธีหลักสำหรับเพิ่มและลบรายการเมนูบริบทจากเมนูบริบทของ macOS คือผ่านบริการ (Services) บริการเหล่านี้ปรากฏภายใต้ดรอปดาวน์ "Services" ในเมนูคลิกขวาที่ด้านล่างของเมนู macOS เสนอวิธีแบบ GUI ที่นี่สำหรับเพิ่มและลบรายการเมนูบริบท
1. เปิดแอปพลิเคชัน System Preferences จากเมนู Apple

2. คลิกที่หน้าต่าง "Keyboard"

3. คลิกแท็บ "Shortcuts" ที่ด้านบนของหน้าต่าง

4. เลือก "Services" จากแผงเมนูทางซ้าย

5. นี่จะแสดงรายการบริการทั้งหมดที่มี เรียงตามหมวดหมู่หลักบางอย่างตามอินพุตที่พวกเขารับ คลิกที่ช่องติ๊กเพื่อสลับการมองเห็นของบริการที่เกี่ยวข้อง

6. แอปพลิเคชันสามารถเพิ่มบริการของตัวเองได้ที่นี่ คุณจะพบพวกเขาตามประเภทของรายการ (ไฟล์, โฟลเดอร์, ข้อความ) ที่รายการเมนูบริบทรับเป็นอินพุต ตัวอย่างเช่น หากรายการเมนูบริบทปรากฏเมื่อคุณคลิกขวาบนข้อความที่เลือก คุณจะพบบริการภายใต้ดรอปดาวน์ "Text"

แสดงบริการในเมนูบริบทหลัก
หากคุณมีบริการมากหรือใช้บ่อย อาจรบกวนที่ต้องรอให้ดรอปดาวน์เปิดตลอดเวลา คุณสามารถทำให้บริการทั้งหมดปรากฏในเมนูดรอปดาวน์หลักด้วยคำสั่ง Terminal
1. เปิด Terminal ที่ "Applications -> Utilities -> Terminal.app"
2. วางคำสั่งต่อไปนี้ลงใน Terminal:
defaults write -g NSServicesMinimumItemCountForContextSubmenu -int 999

คำสั่งนี้จะแก้ไขค่าเริ่มต้นสำหรับบริการขั้นต่ำที่จำเป็นในการสร้าง Services submenu ตัวเลขที่ท้าย (999 ในตัวอย่างนี้) ตั้งค่าจำนวนรายการที่จำเป็นในการสร้าง Services submenu หากจำนวนบริการน้อยกว่าค่านี้ คุณจะไม่เห็น Services submenu ในสถานการณ์นี้ 999 ไม่แตกต่างจากอนันต์อย่างมีความหมาย ดังนั้นคุณจะเห็นรายการ Services ทุกรายการเสมอ
3. ปิดและเปิด Finder ใหม่ด้วยคำสั่ง Terminal ต่อไปนี้:
killall Finder

แก้ไขเมนู "Open With"
หนึ่งในซับเมนูในเมนูบริบท เมนู "Open With" มีแนวโน้มจะสับสนเล็กน้อย คุณสามารถจัดการได้หลายวิธี
1. ลบรายการซ้ำจากเมนูบริบท "Open With"
บางครั้งฐานข้อมูล LaunchServices อาจเสียหาย ทำให้เกิดการซ้ำซ้อนอย่างมากของรายการในเมนู "Open With" ของคุณ
1. รันคำสั่ง Terminal ด้านล่างเพื่อสร้างฐานข้อมูล LaunchServices ใหม่:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

2. Kill และ restart finder ด้วย killall Finder คุณอาจต้องรอสักพักก่อน restart ขณะที่ LaunchServices สร้างใหม่
2. ห้ามแอปพลิเคชันเฉพาะจากนามสกุลไฟล์เฉพาะด้วยตนเอง
คุณสามารถห้ามแอปพลิเคชันเฉพาะจากการเชื่อมโยงกับนามสกุลไฟล์เฉพาะในเมนู Open With ได้ ดำเนินการต่อก็ต่อเมื่อคุณมั่นใจในการแก้ไขไฟล์ plist
1. คลิกขวาที่แอปพลิเคชันที่คุณต้องการแก้ไขรายการ และคลิก "Show Package Contents"

2. เปิดโฟลเดอร์ "Contents"

3. โคลนไฟล์ "Info.plist" และเปลี่ยนชื่อเป็นแบบ "info-backup.plist" เพื่อสร้างไฟล์สำรอง
4. เปิด Info.plist ใน text editor อย่าง TextEdit

5. ค้นหาเอกสารด้วย Command + F สำหรับสิ่งต่อไปนี้: "CFBundleTypeExtensions"

6. นี่จะแสดงข้อมูลมากมาย สำหรับแอปพลิเคชันซับซ้อนอย่าง Photoshop คุณจะเห็นอันหนึ่งสำหรับทุกนามสกุล ระบุ "<string>...</string>" ที่มีประเภทไฟล์ที่คุณต้องการห้าม ตัวอย่างเช่น หากฉันต้องการลบ Photoshop ออกจากเมนู Open With สำหรับไฟล์ PNG ฉันต้องมองหา "<string>png</string>" ภายใต้ CFBundleTypeExtensions
7. ลบรายการ "<string>...</string>" ที่เกี่ยวข้อง ในกรณีนี้เราจะลบ "<string>png</string>"

8. เปิด Terminal และรัน killall Finder เพื่อนำการเปลี่ยนแปลงไปใช้
สรุป
แม้คุณจะไม่มีการควบคุมเมนูบริบทของ macOS มากเท่าที่คุณอาจมีใน Windows คุณยังสามารถปรับแต่งเมนูได้บ้าง คุณสามารถเพิ่มตัวเลือกเพิ่มเติมในเมนู Services ได้โดยใช้แอปพลิเคชัน Automator ของ macOS และสร้าง Services