คำตอบสั้น ๆ
น่าเสียดายที่ Apple ยังไม่ได้เปิดใช้งานฟังก์ชันการลากและวางของไอคอนแถบเมนูของบุคคลที่สาม หากไม่มีการกำหนดค่าตามความต้องการของผู้พัฒนาวิธีเดียวที่จะจัดลำดับใหม่คือการเปิดแอพตามลำดับเฉพาะซึ่งรายการที่เปิดก่อนจะปรากฏทางด้านขวา ในบางโอกาสผู้ขายบางรายเขียนโค้ดที่บังคับให้ไอคอนปรากฏที่ปลายด้านหนึ่งหรืออีกด้านหนึ่งทำให้คุณไม่สามารถควบคุมตำแหน่งได้
คำตอบยาว ๆ
มีไอคอนสองประเภทในแถบเมนู OS X:
- MenuExtra : คลาสส่วนตัวของ Apple เพื่อพัฒนาไอคอนเมนูของตนเอง
- StatusItem : คลาสที่จัดไว้ให้สำหรับนักพัฒนาบุคคลที่สามเพื่อสร้างไอคอนเมนู
MenuExtras
คลาสส่วนตัวของ Apple มี perks ในตัวมากมายรวมไปถึง:
- หากคุณดับเบิลคลิกที่พวกเขา (ในตัวค้นหา) พวกเขาจะโหลดในแถบเมนูและเปิดโดยอัตโนมัติเมื่อเข้าสู่ระบบ
- คุณสามารถคลิกคำสั่งพวกมัน (ในแถบเมนู) แล้วลากเพื่อเรียงลำดับใหม่
- หากต้องการลบออกคุณสามารถคลิกคำสั่งแล้วลากออกจากแถบ
น่าเสียดายที่ Apple ไม่อนุญาตให้มีการพัฒนา MenuExtras อย่างเป็นทางการ เหตุผลที่กำหนดคือพวกเขาทำงานเป็นปลั๊กอินใน SystemUIServer และรหัสผิดพลาดอาจทำให้เกิดความไม่แน่นอนในส่วนหลักของระบบปฏิบัติการ
StatusItems
คลาสสำหรับนักพัฒนาไม่ได้ให้ฟังก์ชันการทำงานดังกล่าวออกมานอกกรอบ (ตั้งแต่ 10.6 Snow Leopard) และน่าเสียดายที่ปัจจุบันยังไม่มีคลาสโอเพ่นซอร์สที่อนุญาตให้ใช้ในเชิงพาณิชย์
ดังนั้นนักพัฒนามักจะทำสิ่งต่อไปนี้ตามลำดับที่เกิดขึ้นทั่วไป:
- ละเว้นปัญหาทั้งหมดเข้าด้วยกัน
- บังคับให้มีตำแหน่งที่กำหนดไว้ล่วงหน้า
- ให้การตั้งค่าพื้นฐานบางอย่าง; หรือ
- ต้องเขียนคลาสของตนเองเพื่อทำซ้ำฟังก์ชั่น MenuExtra
สำหรับรายการ MenuExtras ที่พร้อมใช้งานให้นำทางใน Finder เพื่อ:
/System/Library/CoreServices/Menu Extras
สำหรับรายการสถานะฟรีและเชิงพาณิชย์ที่เก็บไว้อย่างดีเยี่ยมชม:
รายการแถบเมนู Super OS X
หวังว่านี่จะช่วยได้ :) M