- เป็น ตัวจัดการหน้าต่างแบบไทล์ แบบโอเพนซอร์สที่ใช้งานบน macOS ซึ่งกำลังพัฒนาโดยเน้นที่ ประสิทธิภาพ และ การใช้งาน
- ทำงานได้โดย ไม่ต้องปิดใช้งาน System Integrity Protection (SIP) และเป็นหนึ่งในตัวจัดการหน้าต่างไม่กี่ตัวที่เข้ากันได้กับตัวเลือก "Displays have separate Spaces" ของ macOS
- รองรับรูปแบบเลย์เอาต์หลากหลายที่คล้ายกับ i3/sway และ bspwm
- มอบการเชื่อมต่ออย่างเป็นธรรมชาติกับประสบการณ์เนทีฟของ macOS เช่น การท่องเวิร์กสเปซแบบ Mission Control และท่าทางบนแทร็กแพด
- เน้น ประสิทธิภาพของแอนิเมชัน และประสบการณ์ผู้ใช้ โดยมีจุดเด่นที่ hot reload ของการตั้งค่า และความสามารถในการเชื่อมต่อกับโปรแกรมภายนอก
- สืบทอดข้อดีบางส่วนของตัวจัดการหน้าต่างแบบไทล์บน macOS อย่าง Aerospace (เช่น ประสิทธิภาพและความยืดหยุ่น) พร้อมตั้งเป้าเพิ่มฟีเจอร์อย่างการรองรับ แอนิเมชัน และการใช้เต็มหน้าจอเฉพาะหนึ่งจอในสภาพแวดล้อมหลายจอแสดงผล
ฟีเจอร์หลัก
- รูปแบบเลย์เอาต์หลายแบบ: รองรับการจัดวางหน้าต่างแบบกริดเหมือน i3 หรือ sway รวมถึงวิธีแบ่งพื้นที่แบบไบนารีสไตล์ bspwm
- ไอคอนแถบเมนู: แสดงทุกเวิร์กสเปซและสถานะเลย์เอาต์ภายในเวิร์กสเปซนั้นแบบภาพรวม
- การนำทางสไตล์ Mission Control ของ macOS: จัดการการสลับระหว่างเวิร์กสเปซได้ง่ายในแบบภาพ
- มีฟีเจอร์ สลับโฟกัสตามเมาส์อัตโนมัติ และ ยกหน้าต่างขึ้นอัตโนมัติ
- สามารถ สลับตำแหน่งเมื่อทำการลากหน้าต่าง ได้ และ แอนิเมชันทำงานได้ลื่นไหล
- เมื่อใช้ ท่าทางบนแทร็กแพด สามารถสลับเวิร์กสเปซได้เหมือนกับ macOS เนทีฟ
- รองรับ การเปลี่ยนการตั้งค่าระหว่างทำงาน (hot reload) ทำให้ปรับแต่งแบบเรียลไทม์ได้สะดวกมาก
- รองรับการเชื่อมต่อกับโปรแกรมภายนอก เช่น Sketchybar และการผสานงานผ่าน CLI หรือ mach port
- สามารถส่ง สัญญาณ (Signals) ออกไปภายนอกเมื่อมีการเปลี่ยนเวิร์กสเปซหรือหน้าต่างเปลี่ยนแปลง โดยส่งสัญญาณผ่าน CLI หรือการเชื่อมต่อ mach ได้
1 ความคิดเห็น
ความเห็นจาก Hacker News
เมื่อก่อนฉันใช้ i3 หนักมาก i3 ยืดหยุ่นสุด ๆ และตั้งค่าได้อิสระ จึงทำอะไรได้มากกว่าแค่ย้ายหน้าต่าง แต่พอย้ายมาใช้ Mac ก็ยังหา tiling window manager ที่ทั้งฟีเจอร์เยอะและเสถียรไม่ได้ ลองมาหลายตัวแล้วตอนนี้ก็เลยใช้ Rectangle ไปก่อน Rectangle ไม่ใช่ window manager จริง ๆ แต่มันมีแค่คีย์ลัดไว้ย้ายหน้าต่างไปซ้าย/ขวา/บน/ล่าง หรือแบ่งแบบ 3/4/6 ส่วนได้ง่าย ๆ มันครอบคลุมรูปแบบการใช้งานของฉันประมาณ 80% ไม่ต้องตั้งค่าเพิ่ม และไม่มีพฤติกรรมแปลก ๆ เลยใช้อย่างพอใจ พออายุมากขึ้นก็เริ่มไม่ไหวจะเสียเวลากับการปรับแต่งเยอะ ๆ แล้ว เว็บไซต์ทางการของ Rectangle
บนจอ 5k/6k การทำ tiling แบบทั่วไปมีข้อจำกัด—หน้าต่างมันใหญ่เกินไป ฉันเลยคิดว่าแอปอย่าง Moom ดีกว่ามาก บน Windows ไม่มีแอปแบบ Moom ก็เลยใช้ tiling manager อย่าง komorebi แทน ในฐานะคนที่สลับไปมาระหว่างหลายระบบปฏิบัติการและหลายอุปกรณ์ รู้สึกเสียดายที่ rift ไม่รองรับคีย์ไบน์ดสากลอย่าง alt+hjkl บนจอความละเอียดสูงมากหรือจอ ultra-wide รูปแบบการจัดวางหน้าต่างแบบนี้ถือว่าจำเป็นเลย (komorebi รองรับ)
สำหรับหลายคนอาจไม่พอ แต่ถ้าเป็นคนแบบฉันที่บน Mac มักใช้หน้าต่างเดียวเป็นหลัก หรือใช้สองจอก็ตอนต่อจอนอกเท่านั้น ฟีเจอร์พื้นฐานนี้ก็พอแล้ว คู่มือแบ่งหน้าต่างอย่างเป็นทางการของ macOS (ฉันไม่ใช่สาย tiling หนัก)
เหตุผลที่โหมดเต็มจอและ gesture บน trackpad ของ macOS ดูน่าดึงดูดมาก ก็เพราะในกรณีส่วนใหญ่เราทำงานอยู่ในหน้าต่างเดียว แต่พอเป็นงานที่ต้องเปิดหลายหน้าต่างพร้อมกัน เช่น terminal, editor, browser DevTools, log, เอกสาร การคาดเดา layout ได้ล่วงหน้าจะสำคัญมาก เครื่องมือ tiling ไม่ได้มีดีแค่เอาหน้าต่างสองบานมาวางข้างกัน แต่ยัง
สำหรับฉันบน Mac ใช้ Rectangle หรือ Moom แก้ได้ประมาณ 80% และที่เหลือใช้ Aerospace หรือ Rift พอจำนวนหน้าต่างเยอะหรือสลับบ่อย ประโยชน์ของ tiling window manager จะชัดเจนมาก
ครั้งหนึ่งฉันเคยพยายามทำ window manager ของตัวเอง แต่บน macOS ไม่มี API ที่ดีพอเลยยอมแพ้เร็วมาก ในทางปฏิบัติต้องไปแฮ็กใช้ accessibility API เอา โปรเจกต์นี้ก็ใช้ Objective C binding และ accessibility API เหมือนกัน เลยอยากรู้ว่าใช้เครื่องมืออะไรเป็นหลักสำหรับดีบักหรือทำฟีเจอร์
ไม่นานมานี้ฉันก็เพิ่งผ่านช่วง yak shaving แบบหนัก ๆ เพื่อเซ็ต Aerospace ให้เข้ามือจริง ๆ เลยอยากรู้ว่าถ้ามีคีย์ลัดชนกันเยอะ ๆ คนอื่นแก้กันยังไง ฉันชินกับชุด hjkl มากจนอยากแมปแทบทุกอย่างเป็นปุ่มพวกนี้ ซึ่งฟีเจอร์ modal ของ Aerospace ก็ช่วยเรื่องคีย์ลัดชนได้ระดับหนึ่ง สุดท้ายแล้วแต่ละคนเซ็ตกันยังไงบ้าง?
ถ้าใช้ Hammerspoon ก็ทำ window manager เองได้ ฉันชอบแนว modal ของ Divvy (สลับ layout ด้วยปุ่มคำสั่งเดี่ยว) แต่เสียดายที่มันไม่ถูกดูแลต่อแล้ว เลยลองใช้ OpenAI Codex ทำ modal window manager ขึ้นมาเอง ซอร์สโค้ด window manager สำหรับ hammerspoon ถ้าเอาแนวทางแบบนี้มาแชร์กันก็น่าจะสนุกดี!
ถ้าเป็นผู้ใช้แทร็กแพด MacBook ล่ะก็ ไม่มีแอปไหนสู้ Swish ได้เลย เว็บไซต์ทางการของ Swish
มีใครเคยเซ็ตตัวนี้ด้วย
nix flakeไหม? หลังจาก yabai ฉันก็กำลังทดสอบ window manager หลายตัวอยู่ แต่ Aerospace บางทีก็หน่วงนิด ๆ น่าจะเพราะการจัดการ event ตอนใช้คู่กับ sketchybar เพื่อทำตัวแสดง workspace สวย ๆ ตัวต่อไปอาจลองอันนี้ (rift) ดูบ้างnix flakeสำหรับ riftไม่ค่อยเข้าใจว่าทำไม macOS ถึงต้องมี tiling window manager ด้วย ต้องวางหน้าต่างเรียงข้างกันบ่อยขนาดนั้นเลยเหรอ? ปกติเปิดแอปเต็มจอแล้วปัดสี่นิ้วสลับหน้าต่างก็พอไม่ใช่หรือ? ใครช่วยโน้มน้าวที