SidecarSnap - แอป Mac ที่จัดตำแหน่ง Sidecar ของ iPad ให้อัตโนมัติด้วยการเลื่อนเมาส์ไปที่ขอบหน้าจอ
(github.com/Kimsharrrk)ปกติผมเชื่อมต่อ iPad กับ MacBook ผ่าน Sidecar แล้วใช้งานเป็นจอคู่บ่อยอยู่แล้ว
แต่เนื่องจากพื้นที่บนโต๊ะหรือสถานการณ์ในแต่ละครั้งต่างกัน จึงต้องย้าย iPad จากด้านซ้ายของ MacBook ไปด้านขวา หรือสลับกลับกันอยู่บ่อย ๆ ครับ แล้วทุกครั้งก็ต้องเข้าไปที่เมนู [การตั้งค่าระบบ -> จอภาพ -> การจัดเรียง] แล้วลากไอคอนหน้าจอด้วยเมาส์เพื่อย้ายตำแหน่ง ซึ่งรู้สึกยุ่งยากมาก
ทั้งที่ดูเหมือนเป็นฟีเจอร์ที่ Apple น่าจะใส่มาให้เป็นพื้นฐาน แต่กลับไม่มีให้ใช้ ผมเลยทำแอปยูทิลิตีเบื้องหลังขนาดเบามากตัวนี้ขึ้นมาเองด้วย Swift เพราะความอัดอั้นใจ
💡 ทำงานอย่างไร?
- เมื่อนำเคอร์เซอร์เมาส์ไปไว้ที่ขอบซ้ายหรือขอบขวาของหน้าจอและค้างไว้ 0.5 วินาที แอปจะตรวจจับตำแหน่งของ iPad ในการจัดเรียงจอภาพ แล้วเลื่อนไปยังทิศทางนั้นโดยอัตโนมัติ
- เมื่อดันเมาส์ไปจนสุดขอบหน้าจอ จะมีกราฟิกหยดสีดำ (Blob) ที่ยืดหยุ่นปรากฏขึ้นบริเวณขอบเบเซล เพื่อแสดงเวลารอ (ตัวจับเวลา) ให้เข้าใจได้อย่างเป็นภาพ
🛠️ คุณลักษณะทางเทคนิคและการพัฒนา
- การใช้ API: ทำงานได้อย่างปลอดภัยโดยไม่ใช้เฟรมเวิร์กทางอ้อมแบบไม่เป็นทางการหรือ kernel extension แต่ใช้เฉพาะ API สาธารณะอย่างเป็นทางการของ macOS เท่านั้น (
NSEvent.addGlobalMonitorForEventsและCGConfigureDisplayOriginของ CoreGraphics) - ความเป็นส่วนตัวและความปลอดภัย: ไม่มีการสื่อสารภายนอกใด ๆ เลย (เช่น Analytics หรือการส่งข้อมูลไปยังเซิร์ฟเวอร์) และทำงานอยู่เฉพาะในสภาพแวดล้อมภายในเครื่อง Mac เท่านั้น
- Code Sign: เนื่องจากเป็นโปรเจ็กต์โอเพนซอร์สฟรี จึงไม่ได้เซ็นด้วยบัญชีนักพัฒนา Apple แบบเสียเงิน ทำให้ตอน build และแจกจ่ายครั้งแรกมีปัญหาถูกกักกันเป็น "ไฟล์เสียหาย" เพื่อแก้ปัญหานี้จึงได้ใช้การเซ็นแบบ Ad-hoc (ชั่วคราว) และอัปเดตไฟล์แจกจ่าย (.dmg) แล้ว หากหลังดาวน์โหลดแล้วยังเปิดใช้งานไม่ได้ ให้ไปที่ [การตั้งค่าระบบ -> ความเป็นส่วนตัวและความปลอดภัย -> ความปลอดภัย] แล้วกด [เปิดต่อไป] เพื่ออนุญาตเพียงครั้งเดียว หลังจากนั้นจะทำงานได้ตามปกติโดยไม่มีคำเตือน
⚙️ การตั้งค่าที่มีให้
- เปิด/ปิดการตรวจจับเมาส์ที่ขอบหน้าจอและการจัดเรียงอัตโนมัติ
- ปรับเวลาในการตรวจจับดีเลย์ (0.3 วินาที / 0.5 วินาที / 1.0 วินาที)
- จัดเรียงด้วยตนเองผ่านคีย์ลัด (
[และ]) - ปิดใช้งานไอคอนบนแถบเมนูด้านบน (โหมดซ่อน)
- เปิดทำงานอัตโนมัติเมื่อเข้าสู่ระบบ
แม้จะเป็นโปรเจ็กต์เล็ก ๆ ที่เริ่มจากการแก้ปัญหาความไม่สะดวกส่วนตัว แต่ก็หวังว่าจะเป็นประโยชน์กับคนที่รู้สึกรำคาญทุกครั้งเวลาต้องเปลี่ยนตำแหน่ง Sidecar เช่นกันครับ ยินดีรับฟีดแบ็กเกี่ยวกับโค้ดหรือฟีเจอร์ รวมถึงข้อเสนอแนะเพื่อการปรับปรุงเสมอ!
ยังไม่มีความคิดเห็น