2 คะแนน โดย GN⁺ 2025-03-13 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ผู้ใช้ที่ใช้ Sway และ i3 มาอย่างยาวนานตัดสินใจเปลี่ยนจากตัวจัดการหน้าต่างแบบไทลิงดั้งเดิมมาใช้ Niri หลังเจอ บั๊กคลิก-ลาก ของ Sway
  • Niri จัดการเวิร์กสเปซเหมือนเป็น แถบไม่สิ้นสุด ที่เลื่อนซ้ายขวาได้ ดังนั้นแม้เปิดหน้าต่างใหม่ ตำแหน่งของหน้าต่างเดิมก็ไม่ถูกรบกวนมากนัก
  • หลังย้ายมาใช้ เพียงไม่กี่ชั่วโมงก็ปรับแต่งจนใช้งานได้ดี และภายในหนึ่งสัปดาห์ก็เข้ามือยิ่งกว่า Sway โดยยกข้อดีเรื่องการแชร์หน้าจอรายหน้าต่าง, การยกเว้นหน้าต่างจากการแชร์หน้าจอ, เครื่องมือจับภาพหน้าจอในตัว, และแบตเตอรี่ที่เพิ่มขึ้นราว 2 ชั่วโมง
  • ตัวจัดการหน้าต่างแบบไทลิงดั้งเดิมสร้าง ภาระทางการรับรู้ จากการจัดวางหน้าต่างใหม่และการบริหารเวิร์กสเปซ โดยใน Sway เคยใช้เวิร์กสเปซเกิน 11 อัน แต่ใน Niri ลดเหลือไม่เกิน 5 อัน
  • เมื่อคำนึงถึงขนาดหน้าจอที่หลากหลายและประสิทธิภาพการประมวลผลที่ดีขึ้น ไทลิงแบบดั้งเดิมอาจไม่จำเป็นต้องเป็นเวิร์กโฟลว์หลักของผู้ใช้ระดับสูงอีกต่อไป และผู้ใช้ไทลิงบน Sway หรือ Wayland ก็น่าลองใช้ Niri

อะไรทำให้ย้ายจาก Sway ไป Niri

  • ผู้เขียนใช้ ตัวจัดการหน้าต่างแบบไทลิง มาแล้วเป็นช่วงเวลาราว 35% ของชีวิต โดยใช้ Sway มา 5 ปี และ i3 มา 2 ปี
  • เขาเริ่มใช้ Wayland ค่อนข้างเร็ว จนคุ้นชินกับสภาพที่หลายอย่างยังใช้งานไม่ได้สมบูรณ์ และก็ปรับตัวเข้ากับเวิร์กโฟลว์ของ Sway มานานแล้ว
  • จุดเปลี่ยนโดยตรงคือ ปัญหาคลิก-ลาก ใน Sway ที่เมื่อเลือกข้อความแล้วลาก เมาส์ยังคงเหมือนค้างอยู่ในสถานะเลือกต่อแม้ปล่อยปุ่มไปแล้ว
    • จากไม่กี่วันกลายเป็นหลายสัปดาห์โดยที่ปัญหายังไม่ถูกแก้ จนแค่การคลิกเลือกข้อความเองก็เริ่มไม่น่าไว้ใจ
    • แทนที่จะไล่หาต้นตอจากไลบรารีหรือรัน git bisect เขาเลือกทิ้งความเคยชินของกล้ามเนื้อและเวิร์กโฟลว์ที่สั่งสมมานาน แล้วลองใช้ Niri

วิธีการทำงานของ Niri และความประทับใจแรก

  • Niri เป็น ตัวจัดการหน้าต่างแบบไทลิงเลื่อนได้ โดยแต่ละเวิร์กสเปซทำงานเหมือนแถบกว้างไม่สิ้นสุดที่เลื่อนซ้ายขวาได้
  • เมื่อเปิดหน้าต่างใหม่ จะไม่เปลี่ยนการจัดวางของหน้าต่างอื่น ทำให้เวลาเปิดเทอร์มินัลแล้ว Firefox ไม่ถูกดันไปอยู่ตำแหน่งที่ไม่คาดคิดเหมือนเดิมบ่อย ๆ
  • ภายในไม่กี่ชั่วโมงก็ทำค่าตั้งที่ใช้งานได้ดีพอ และภายในหนึ่งสัปดาห์ก็กลายเป็นสภาพแวดล้อมที่เข้ามือยิ่งกว่า Sway
  • เขาบอกว่ามันทำให้นึกถึงความรู้สึกสมัยเปลี่ยนดิสโทรหรือเปลี่ยนตัวจัดการหน้าต่างแบบกล้าลองของใหม่ที่ดูแปลกและเสี่ยง

จุดที่รู้สึกว่าดีกว่า Sway

  • Niri รองรับ การแชร์หน้าจอรายหน้าต่าง และยังมีฟีเจอร์ซ่อนบางหน้าต่างไม่ให้ปรากฏในการแชร์หน้าจอด้วย
    • เวลาสตรีมงานส่งอาจารย์ จึงกังวลน้อยลงว่าการแจ้งเตือนอีเมลธนาคารหรือการแจ้งเตือนละเอียดอ่อนอื่น ๆ จะโผล่ที่มุมจอ
  • เครื่องมือจับภาพหน้าจอในตัวก็น่าพอใจ และประเมินว่าดีกว่าชุด grim+slurp ที่แนะนำสำหรับ Sway
  • อายุแบตเตอรี่เพิ่มขึ้นประมาณ 2 ชั่วโมง เมื่อเทียบกับ Sway
  • แม้แต่ตอนลองเพิ่มความสามารถ IPC ให้ Niri ประสบการณ์ด้านการพัฒนาก็ยังดี
    • ต่างจาก Sway/wlroots นั้น Niri/Smithay เขียนด้วย Rust
    • เขาบอกว่าโค้ดเข้าถึงและทำความเข้าใจได้ง่ายกว่าที่คิด

ความไม่พอใจกับตัวจัดการหน้าต่างแบบไทลิงดั้งเดิม

  • ตัวจัดการหน้าต่างแบบไทลิงดั้งเดิมผลักให้ผู้ใช้พยายามทำการจัดวางหน้าต่างให้มีประสิทธิภาพสูงสุด และระหว่างนั้นก็ต้องใช้ ภาระทางการรับรู้ ไปกับเป้าหมายที่ผิดอย่างการลดการจัดวางหน้าต่างใหม่ให้น้อยที่สุด
  • ถ้าไม่ได้สลับไปมาระหว่างโหมดเต็มหน้าจอกับไม่เต็มหน้าจอตลอดเวลา หรือไม่ได้รู้สึกว่าเวิร์กสเปซไม่พอ ก็ถือว่ายังไม่ได้เปิดหน้าต่างมากนัก
  • เลย์เอาต์แบบแท็บ, แบบซ้อน, และคอนเทนเนอร์ซ้อนกัน ถูกมองว่าเป็นเพียงวิธีแก้ขัดที่ไม่ค่อยเป็นมิตรต่อสรีระ เพื่อกลบปัญหาพื้นที่ไม่พอ
  • ใน Sway เขามักเปิดเวิร์กสเปซไปถึง 11 อัน อยู่บ่อย ๆ และเพราะยังไม่พอ จึงเพิ่มคีย์ลัดสำหรับเวิร์กสเปซหมายเลข 11 ถึง 20 ด้วย
    • เขาเคยปิดหน้าต่างเพื่อประหยัดเวิร์กสเปซ แล้วเผลอทำให้เสียโฟกัสของโปรเจกต์ที่กำลังทำ
    • แต่ใน Niri แม้จะเปิดงานของโปรเจกต์ใหญ่ 3 โปรเจกต์, แอปแชตหลายตัว, วิดีโอ YouTube, และงานของวิชาเรียน 3 วิชา ก็ยังใช้เวิร์กสเปซไม่เกิน 5 อัน
    • ถ้าเป็นชุดงานเดียวกันบน Sway จะล้นไปถึงเวิร์กสเปซหมายเลข 15 และต้องสลับข้ามหลายเวิร์กสเปซเพื่อหาเนื้อหาที่ต้องการ

บริบทของขนาดจอ, DPI, และจออัลตราไวด์

  • เมื่อคำนึงถึงขนาดหน้าจอที่หลากหลายและพลังประมวลผลที่ดีขึ้น เขามองว่าตัวจัดการหน้าต่างแบบไทลิงดั้งเดิมไม่จำเป็นต้องเป็นตัวเลือกหลักของเวิร์กโฟลว์ผู้ใช้ระดับสูงเสมอไป
  • ไทลิงแบบดั้งเดิมถูกมองว่าเป็นการจำกัดพื้นที่อย่างไม่เป็นธรรมชาติ บังคับให้คอนเทนต์ต้องจัดวางใหม่ และยังไม่ค่อยเข้ากับเลย์เอาต์จอที่ไม่มาตรฐาน
  • เหตุผลหลักที่เปลี่ยนมาใช้ Wayland คือเรื่อง DPI แบบผสม
    • หากใช้จอ 4K และจอ FHD ที่มีขนาดจริงเท่ากันร่วมกัน ความหนาแน่นพิกเซลของฝั่ง 4K จะสูงกว่าราว 4 เท่า
    • หน้าต่างที่กว้างเป็นพิกเซลคงที่จะดูเล็กบน 4K แต่ดูใหญ่บน FHD
    • ถ้าต้องการให้หน้าต่างมีขนาดทางกายภาพใกล้เคียงกัน ก็จำเป็นต้องมีการสเกล
    • ในตอนนั้นการทำงานของ X11 ยังไม่ตอบโจทย์นัก ขณะที่ Wayland รองรับเรื่องนี้เป็นความสามารถหลัก
    • X11 ยังจัดการ fractional scaling ที่เป็นอัตราส่วนไม่เต็มจำนวนอย่าง 1.6 ได้ยาก และในแง่นี้ Wayland ทำได้ดีกว่า
  • เขามองว่าตัวจัดการหน้าต่างแบบไทลิงเลื่อนได้เข้ากับ จออัลตราไวด์ ได้ดี
    • Sway จะให้หน้าต่างใหม่กินพื้นที่เต็มความกว้างของจออัลตราไวด์ แต่โมเดลของ Niri ทำให้การไทลิงดูเป็นธรรมชาติกว่าและใช้พื้นที่ได้ดีกว่า
  • เขาแนะนำให้ผู้ใช้ตัวจัดการหน้าต่างแบบไทลิงดั้งเดิมบน Wayland อย่าง Sway ลองใช้ Niri ได้ทันที

1 ความคิดเห็น

 
GN⁺ 2025-03-13
ความคิดเห็นจาก Hacker News
  • ผมใช้ Gnome และแทบจะเปิดหน้าต่างทั้งหมดแบบ เต็มจอ บางครั้งก็ใช้ win+left/right ทำให้เป็นหน้าต่างครึ่งจอ แบบนี้ถือว่ายังเป็นมนุษย์ถ้ำอยู่ไหม?

    • ถ้าดูจาก “street cred” ของผู้เขียน ก็ต้องคำนึงด้วยว่าเขายังอายุแค่ 20 ปี หลายคนน่าจะรู้สึกว่าตอนอายุ 20 ความอดทนต่อการปรับแต่งซอฟต์แวร์สารพัดและการเสียเวลาไปกับเรื่องไร้สาระนั้นแทบจะไร้ขีดจำกัด เมื่อเทียบกับหลังจากทำงานมาหลายปีหรือมีครอบครัวแล้ว
      ตลอด 20 ปีที่ผ่านมา ผมเห็น ตัวจัดการหน้าต่างแบบไทลิง ที่ถูกเรียกว่า “อนาคต” โผล่มาแล้วก็หายไปเป็นสิบๆ ตัว ในทางปฏิบัติฟีเจอร์ที่ช่วยเพิ่มประสิทธิภาพการทำงานได้มากจริงๆ นั้นถูกใส่ไว้ในตัวจัดการหน้าต่างหลักๆ หมดนานแล้ว และตัวจัดการหน้าต่างแบบไทลิงล้วนๆ ก็น่าจะยังคงเป็นผลิตภัณฑ์เฉพาะกลุ่มต่อไป
      สุดท้ายแล้วถ้าจะใช้งานให้จริงจังก็ต้องลงทุนทั้งเวลาและแรงพอสมควร แต่ผลลัพธ์ด้านผลิตภาพที่ได้จริงมีแค่ระดับค่อยเป็นค่อยไป และยังต้องยอมรับมุมแหลมๆ แบบฉบับผลิตภัณฑ์เฉพาะกลุ่มพวกนี้ไปพร้อมกันด้วย
    • ผมก็เคยคล้ายๆ กัน แต่ได้ค้นพบว่าเวิร์กโฟลว์ของผมเข้ากับ ตัวจัดการหน้าต่างแบบไทลิง ได้ดีพอสมควร ผมใช้การแบ่งหน้าจอกับแอปชั่วคราว เช่น เข้าเทอร์มินัลสัก 30 วินาที และนอกนั้นก็ให้แต่ละแอปมีเวิร์กสเปซหรือทั้งหน้าจอเป็นของตัวเอง
      มันดีกว่า Gnome ขึ้นมานิดหน่อย แต่มีโอกาสมากกว่าที่หน้าต่างจะไปอยู่ถูกที่ตั้งแต่แรก และพูดตามตรง เราจำเป็นต้องซ้อนหน้าต่างทับกันบนแกน z บ่อยแค่ไหนกัน
      ตอนแรกผมคิดว่าตัวจัดการหน้าต่างที่ดีกว่าควรเป็น ผืนผ้าใบ 2D แบบไร้ขอบเขต ที่ตั้งคีย์ลัดสำหรับตำแหน่งกับระดับการซูมได้ เหมือนกล้องในเกมวางแผนเรียลไทม์ แต่พอได้ใช้ Niri แล้วก็มั่นใจว่าไอเดียของผมมันซับซ้อนเกินไป และ Niri นี่แหละที่แตะจุดสมดุลระหว่างฟังก์ชันกับการใช้งานได้พอดี
      เหมือนเทคโนโลยีที่มนุษย์ต่างดาวจากอนาคตเอามาให้เป็นของขวัญ
    • ผมคิดว่าคนส่วนใหญ่ก็ทำงานกันแบบนั้นแหละ ผมเคยดูเพื่อนร่วมงานพัฒนา React บน MacBook แล้วหน้าต่างต่างๆ ก็อยู่ในขนาดและตำแหน่งเดิมที่มันเปิดขึ้นมา ไม่ได้เต็มจอด้วย ซึ่งสมองของผมที่ใช้ จอ 3 ตัว ทำความเข้าใจไม่ได้เลย
      ผมใช้โน้ตบุ๊ก จอ 24 นิ้วแนวนอนตรงกลาง และจอ 24 นิ้วแนวตั้ง โดยให้ Spotify/Teams/เชลล์/Outlook แบ่งครึ่งบนจอแนวตั้ง เอกสารอยู่บนหน้าจอโน้ตบุ๊ก และ IDE อยู่เต็มจอบนหน้าจอหลัก ผมยังแยกเดสก์ท็อปเสมือนตามงานออกแบบ/ค้นคว้า งานพัฒนา และเรื่องส่วนตัวด้วย
      ถ้าคงขนาดจอให้เป็นมาตรฐานแทนที่จะใช้ 4K หรืออัลตร้าไวด์ การแชร์หน้าจอก็ง่ายขึ้นมากด้วย
      เรื่องที่หงุดหงิดเล็กน้อยคือทุกวันนี้งานออกแบบ UI ใส่ padding 10px ไปทั่วทุกแห่ง จนแอปกับหน้าเว็บส่วนใหญ่ต้องเป็น เต็มจอ ถึงจะทำอะไรได้สะดวก
    • เหมือนผมเป๊ะเลย สิ่งที่ผมต้องการจริงๆ คือ Gnome ที่ไทลิงได้มากขึ้นอีกนิด พอให้แบ่ง 3 หรือ 4 ส่วนได้เวลาที่จำเป็นเป็นครั้งคราว
      แต่ความต้องการไทลิงส่วนใหญ่ของผมอยู่ในเทอร์มินัล และ tmux ก็เป็นฮีโร่ช่วยไว้
    • คิดว่าน่าจะมีคนชอบส่วนขยายนี้
      https://extensions.gnome.org/extension/4548/tactile/
      ผมเป็นคนที่ย้ายมาจาก i3 แต่ถ้าคุณไม่ต้องการส่วนขยายไทลิงแบบเต็มรูปแบบ แค่อยากได้ความสะดวกของการไทลิงเพิ่มขึ้นอีกหน่อย Tactile ก็เป็นทางออกที่เรียบง่ายและมีประโยชน์มาก
  • ถ้าจะย้ายมาจากตัวจัดการหน้าต่างแบบไทลิงดั้งเดิม ผมอยากรู้ว่า เวิร์กโฟลว์คีย์ลัด เป็นอย่างไร
    สำหรับผม สิ่งสำคัญที่สุดคือคีย์ลัดตายตัวแบบ Super+[0-9] สำหรับไปยังหน้าต่าง เวิร์กสเปซ หรือพูดจริงๆ คือโปรแกรมที่ต้องการโดยตรง ถ้าทำได้ และแก้ปัญหาเรื่อง “การจัดการเวิร์กสเปซ” ที่บทความพูดถึงได้ด้วย ผมน่าจะย้ายทันที
    ใน Niri ยังสมเหตุสมผลไหมที่จะใช้ “เวิร์กสเปซ” แบบนี้? เช่น มีเวิร์กสเปซหนึ่งสำหรับเบราว์เซอร์ หนึ่งสำหรับเอดิเตอร์ และอีกหนึ่งสำหรับชุดเทอร์มินัลหลายหน้าต่าง แล้วอยากสลับจาก “เบราว์เซอร์” ไป “กลุ่มเทอร์มินัล” ได้ทันที ผมไม่อยากได้เอฟเฟ็กต์แอนิเมชัน

    • ได้ Niri ก็ยังรองรับ เวิร์กสเปซแบบมีหมายเลข เหมือนตัวจัดการหน้าต่างอย่าง Sway เพียงแต่ตอนนี้คุณสามารถเลื่อนแนวนอนได้ด้วย
    • คุณจะใช้ Niri คล้ายกับตัวจัดการหน้าต่างแบบไทลิงอื่นๆ ก็ได้ แต่ข้อดีคือคุณสามารถผูกแอปเสริมต่างๆ ไว้กับแอปหลักได้ แทนที่จะเป็นหนึ่งเวิร์กสเปซต่อหนึ่งแอป
      ตัวอย่างเช่น คุณสามารถวาง ตัวจัดการรหัสผ่าน ไว้ในเวิร์กสเปซเดียวกับเบราว์เซอร์ โดยปกติจะอยู่นอกจอ แต่พอถึงเวลาต้องสร้างรหัสผ่าน มันก็อยู่ข้างๆ ทันที เช่นเดียวกับเทอร์มินัลเสริมที่ต้องใช้คู่กับโปรแกรมแก้ไขข้อความ
    • บน Sway คุณลอง papersway ได้ และบน Hyprland ก็มี hyprscroller ให้ลองแนวไทลิงแบบ Niri หรือให้แม่นกว่านั้นคือแบบ PaperWM ผมใช้ตัวหลังอยู่ ซึ่งโดยพื้นฐานก็แทบเหมือนไทลิงทั่วไป และรองรับเวิร์กสเปซแบบตั้งชื่อได้ด้วย
      แต่ผมรู้สึกว่ายังมี ความเคยชินของกล้ามเนื้อ จากการทำงานภายใต้ข้อจำกัดของไทลิงแบบดั้งเดิมหลงเหลืออยู่มาก เช่น บนจอของผม ถ้าเปิดเทอร์มินัลเกิน 3 หน้าต่างก็ต้องไปเวิร์กสเปซใหม่
      เลยกลายเป็นว่าผมมักย้ายไปเวิร์กสเปซใหม่บ่อย ทั้งที่จริงๆ ไม่จำเป็น และเริ่มสับสนเล็กน้อยว่าอะไรอยู่ตรงไหน บางครั้งผมก็คิดว่าการตัดขาดจากวิธีทำงานเดิมให้ชัดกว่านี้อาจจะง่ายกว่า
      ถึงอย่างนั้น ผมก็ชอบไทลิงแบบ Niri มากจริงๆ ในความเห็นผม มันกำจัดข้อเสียของตัวจัดการหน้าต่างแบบไทลิงไปได้แทบทั้งหมด
    • ผมใช้ i3 มา 1 ปีแล้ว และรู้สึกถึงความไม่สะดวกทั้งหมดที่บทความนี้พูดถึง
      โดยรวมแล้วผมชอบ i3 มากกว่า Gnome มาก แต่ความทรมานจากการที่ “ทุกอย่างถูกปรับขนาดใหม่” นั้นมีจริงสุดๆ โดยเฉพาะเวลาที่มี Zoom call เยอะๆ ปัญหาจะยิ่งหนัก เพราะ “การแจ้งเตือน” ของ Zoom ดูเหมือนจะข้ามระบบแจ้งเตือนในตัวระบบไป แล้วจัดการแต่ละอันเหมือนเป็นหน้าต่างแยกต่างหาก
      ผมน่าจะต้องลอง Niri ดูสักหน่อย
    • ถ้าบน Mac และต้องการอะไรในแนวเดียวกับ Super+X ก็ขอแนะนำ rcmd อย่างมาก
  • สำหรับผมมันไม่ค่อยเข้ากันนัก มีแถบของหน้าต่างที่ต่อเนื่องข้ามขอบจอ และบางครั้งการเห็นหน้าต่างแค่ครึ่งเดียวก็ก่อความรู้สึกกังวลแปลกๆ จนคอยดึงสายตาผมอยู่เรื่อย
    ผมใช้มันอยู่ประมาณสองเดือนแล้วก็กลับไป Hyprland ซึ่งเป็นคอมโพสิตเตอร์แบบไทลิงดั้งเดิมมากกว่า ที่หน้าต่างไม่ซ้อนทับกับขอบเขตจอ
    แต่ถึงอย่างนั้น ในเชิงเทคนิค Niri ก็สวยงามมาก เป็นโค้ดเบส Rust สมัยใหม่ โครงสร้างโค้ดก็ดี และเข้าใจเพื่อเริ่มลงมือแก้ไขได้ง่ายด้วย

    • ผมตั้งความกว้างคอลัมน์ไว้แบบนั้น เพื่อให้แทบจะไม่เห็น หน้าต่างบางส่วน โผล่มาที่ขอบเลย
      บนโน้ตบุ๊กผมใช้ความกว้างเต็มหรือครึ่งหนึ่งตามงาน ส่วนบนจออัลตร้าไวด์ก็ใช้ความกว้าง 1/3 หรือใช้เต็มความกว้างสำหรับเอดิเตอร์ที่มีการแบ่งคอลัมน์ภายใน
    • ถ้าเป็นจอกว้างมาก มันจะดีขึ้นหรือแย่ลง? ผมชอบทำงานบน UWQHD
  • ฉันชอบแนวคิดของตัวจัดการหน้าต่างแบบ tiling เลยลองใช้ i3 กับ Hyprland อยู่นานพอสมควร แต่แปลกตรงที่ไม่เคยปักหลักได้จริง ๆ แล้วสุดท้ายก็มักจะกลับไป Xfce เสมอ นิสัยเก่า ๆ เลิกยากจริง ๆ
    จุดที่การทดลองมักจบลงก็คือตอนที่จำนวนหน้าต่างเกินระดับหนึ่ง ถ้ายังไม่ได้ตั้งค่า workspace, layout ฯลฯ ไว้อย่างลึกพอ หลังจากนั้นการจัดการจะยิ่งยากขึ้น
    เมื่อกี้เพิ่งลองเปิด Niri ดู แล้วแค่ 10 นาทีก็รู้สึกสบายกว่าตัวจัดการหน้าต่างแบบ tiling ตัวอื่นมาก ใช้งานเข้าใจง่ายทันที และ การผสานการทำงานกับเมาส์ ก็ดีมาก
    ยังเร็วเกินไปจะประกาศชัยชนะ แต่ดูเหมือนมันจะเป็นสิ่งที่ฉันอยากได้และต้องการมาหลายปีจริง ๆ คงจะตัดสินจากระยะเวลาก่อนที่ฉันจะเริ่มอยากกลับไป Xfce

    • ฉันเองก็ไม่ค่อยเข้ากับ tiling เหมือนกัน อาจเพราะใช้ Linux บนโน้ตบุ๊กเป็นหลัก หน้าจอมันเล็กจนแบ่งครึ่งจอได้ประมาณนั้นมากกว่า เลยจัด tiling อะไรมากไม่ได้ แถมยังไม่ค่อยเข้ากับพวก IDE ด้วย
      สำหรับฉัน แบบที่ลงตัวที่สุดคือ floating window manager/desktop environment ธรรมดา ๆ น่าเบื่อ ๆ ไม่ตามกระแส แล้วมี tiling แบบเบา ๆ ให้เลือกใช้เป็นบางครั้ง
  • อ่านสนุกดี ทุกคนมีจุดที่ไปต่อไม่ไหวกันทั้งนั้น
    ฉันชอบประโยคที่ว่า “แน่นอนว่าแทนที่จะหาว่าไลบรารีตัวไหนทำการเปลี่ยนแปลงแบบ breaking change ไว้ และรัน git bisect อยู่ 4 ชั่วโมง ฉันกลับตัดสินใจโยน muscle memory และ workflow improvement ที่สั่งสมมาเกือบ 10 ปีทิ้งออกนอกหน้าต่างไปเลย”

  • ฉันก็เป็นผู้ใช้ i3/Sway มานาน และ Niri ก็ให้ความรู้สึกสบายพอตัว ฉันสามารถยก muscle memory ส่วนใหญ่จาก Sway มาใช้ต่อได้เลย เช่น การย้ายโฟกัสหรือย้ายหน้าต่าง ความเสถียรก็ดีมาก และยังทำงานกับ xwayland-satellite ได้ทันทีแบบไม่มีปัญหา
    ปัญหาใหญ่ที่สุดคือฉัน “ทำหน้าต่างหาย” อยู่เรื่อย ๆ จะเปิดหน้าต่างไว้ในสแตกที่ซ้อนลึก ๆ แล้วไปทำอย่างอื่นต่อ สุดท้ายก็ลืมไปเลยว่าเปิดหน้าต่างนั้นทิ้งไว้แล้ว
    ใน Sway ก็เกิดบ้างระดับหนึ่ง แต่การไล่ดูทุก workspace ทำได้ง่ายกว่ามาก
    ถ้ามีอะไรสักอย่างคล้าย “แผนที่หน้าต่าง” ที่ผูกกับ Alt-Tab ก็คงดี

    • หมายถึงอะไรประมาณ issue ที่ฉันเคยลิงก์ไว้ก่อนหน้านี้หรือเปล่า? https://news.ycombinator.com/item?id=43347909
      สำหรับฉัน ตอนนี้ใช้ชุดประหลาด ๆ อย่าง niri IPC / bash / jq มาจำลองฟังก์ชัน run-or-raise ซึ่งน่าจะทำงานได้ดีกว่า RoR ดั้งเดิมเสียอีก มันจะวนดูหน้าต่างที่ตรงกับ appId ที่กำหนด และถ้าไม่มีก็เปิดใหม่
      พอเอา rofi(wayland) มาต่อเพิ่มเพื่อให้ย้ายไปยังหน้าต่างที่เปิดอยู่ทั้งหมดด้วยการค้นหาแบบ fuzzy ได้ ประสบการณ์ใช้งานก็ดีขึ้นมาก
    • ถ้าเป็น alttab จะตอบโจทย์สิ่งที่ต้องการไหม? ฉันใช้มันกับ xmonad แล้วทำงานได้ดี https://github.com/sagb/alttab
    • ปลั๊กอิน Hyprland อย่าง Hyprscroller ที่ทำงานคล้าย Niri มีฟีเจอร์แนว “expose” อยู่เหมือนกัน เพียงแต่ฉันมักลืมบ่อย ๆ ว่ามันมีฟีเจอร์นี้
  • ฉันเป็นคนรุ่นที่ใช้ Hyprland แต่ก็เคยลอง Niri อยู่พักหนึ่ง และมันก็ทำงานได้ค่อนข้างดี สำหรับคนที่ย้ายมาจาก workflow แบบ Windows จอเดียวทั่วไป มันเข้ากันได้ดีมาก โดยเฉพาะกับงานออฟฟิศส่วนใหญ่
    ถึงอย่างนั้น ฉันก็ยังคิดว่าการตั้งค่า tiling ที่ซับซ้อนกว่าน่าจะมีเพดานด้าน productivity สูงกว่า ถ้าเป็นคนแบบผู้เขียนที่เปิด workspace เกิน 10 อัน ก็น่าจะเลือก Niri
    แต่ก็สงสัยเหมือนกันว่า สำหรับคนที่เปิดหน้าต่างไว้แค่ไม่กี่อัน อายุแบตเตอรี่ที่เพิ่มขึ้น จะยังคงอยู่ไหม เปลี่ยนแค่ window manager แล้วได้เพิ่ม 2 ชั่วโมงนี่ต่างกันมากจริง ๆ

    • ฉันยังสลับไปมาระหว่าง Wayland กับ X11 อยู่ แต่แม้แต่บน T14s Gen 2 รุ่นเก่าของฉัน ชุด X11+xmonad+ไม่มี compositor ก็ยังอยู่ได้นานกว่าเฉลี่ย 1.5 ชั่วโมง
      นี่เป็นหนึ่งในเหตุผลหลักที่ทำให้ฉันย้ายข้ามไปเต็มตัวยากมาก ฉันไม่ได้ใช้ desktop environment อยู่แล้ว และก็ไม่ได้ใช้ฟีเจอร์อะไรที่ compositor ทำให้มีประโยชน์จริง ๆ ดังนั้นจากมุมมองของฉันแทบไม่เห็นข้อดีเลย
      ที่สังเกตเห็นบ้างเป็นครั้งคราวก็คือขอบสีดำจาก dropdown เงา ๆ ของโปรแกรม gtk4 ที่ไม่ยอมใช้ system theme ที่ฉันตั้งไว้
  • ยังไม่ได้ลอง Niri แต่สนใจอยู่
    ช่วงหลังมานี้ฉันได้ลองสัมผัสประสบการณ์ scrollable window manager บน GNOME ผ่านส่วนขยาย PaperWM แล้ว ซึ่งทำออกมาได้ดีทีเดียว: https://github.com/paperwm/PaperWM

    • Niri ได้แรงบันดาลใจมาจาก PaperWM และลื่นกว่ามาก ถ้าคุณชอบ PaperWM ก็น่าจะลองดู niri
      แต่ก็เสียเปรียบอยู่นิดหน่อยเพราะมันไม่ได้ถูกสร้างอยู่ภายในสภาพแวดล้อม Gnome เลยไม่มีของบางอย่างที่ Gnome ให้มาแบบ “ฟรี ๆ” และแม้แต่ฟีเจอร์พื้นฐานพอสมควรก็ต้องไปหาเครื่องมืออื่นมาแทนเอง
      สิ่งที่ดูเหมือนจะขาดไปได้แก่ desktop notification, app launcher, dock หรือรายการแอปที่กำลังรันอยู่, และ Xwayland สำหรับรันแอป X11 ได้อย่างลื่นไหล ฟีเจอร์พวกนี้ทั้งหมดต้องให้เครื่องมือแยกต่างหากมาเติมเต็ม เพราะไม่ได้รวมอยู่ใน Niri
      สิ่งที่ฉันบ่นมากที่สุดคือไม่มี การซิงก์คลิปบอร์ดระหว่าง X11 กับ Wayland ดูเหมือน Gnome จะจัดการเรื่องนี้ให้อัตโนมัติ แต่ใน Niri ไม่เป็นแบบนั้น ทำให้การคัดลอก/วางระหว่างแอป Wayland กับแอป X11 ใช้งานไม่ได้ ซึ่งน่าหงุดหงิดมาก
      มันมีทางอ้อมอยู่ แต่เท่าที่ลองมายังไม่มีอะไรที่สะดวกและเสถียรพอ
  • ตัวจัดการหน้าต่างแบบเลื่อนได้ยอดเยี่ยมจริง ๆ คุณได้ productivity ของตัวจัดการหน้าต่างแบบ tiling ราว 80% ด้วยความพยายามแค่ 20%
    น่าทึ่งเหมือนกันที่ต้องใช้เวลาตั้ง 30~40 ปีถึงจะค้นพบสิ่งนี้

    • ฉันดูวิดีโอบนเว็บแล้ว ในฐานะคนที่ใช้ drag and drop ระหว่างโปรแกรมค่อนข้างบ่อย มันดูเหมือนนรกชัด ๆ
      ฉันก็เป็นคนประเภทที่ปล่อยให้แท็บเบราว์เซอร์ที่เปิดไว้เพิ่มขึ้นไม่สิ้นสุด จนสุดท้ายต้องบุ๊กมาร์กเป็นร้อยแท็บแล้วปิดทั้งหมดอยู่ดี เพราะงั้นกระบวนทัศน์แบบนี้ดูไม่เข้ากับฉันเอามาก ๆ
    • ตอนใช้ i3 ฉันก็มีอะไรที่คล้ายกันมาก
      มันเป็นโค้ด Python แบบบ้าน ๆ ที่ทำให้ yank หน้าต่างเข้าออกจากสแตกได้ด้วยชื่อ และคอยเก็บหน้าต่างที่เก่าที่สุดในสแตกออกไป จริง ๆ แล้วมันก็คือ LRU cache สำหรับหน้าต่างนั่นเอง
      มันก็ “ใช้งานได้” นะ แต่ถ้าสมัยเรียนมหาวิทยาลัยมี PaperWM อยู่แล้ว ฉันคงชอบมันมาก
      ยังมีงานบางอย่างที่ตัวจัดการหน้าต่างแบบ floating ทำได้ดีกว่า ฉันชอบนิสัยเสียของตัวเองที่ตรึงเอกสารลอยไว้หลาย ๆ อันตามจุดต่าง ๆ บนจอ แล้วอ้างอิงข้ามกันไปมาโดยไม่ต้องขยับอะไรมาก
  • ถ้าอยากเรียนรู้ให้มากขึ้นว่าเกิดอะไรขึ้นบ้างบนเดสก์ท็อป Linux ก็แนะนำให้ทุกคนลองใช้ window manager ที่ไม่ใช่มาตรฐาน สักตัว
    การได้ลองปรับแต่ง tiling window manager ทำให้ได้เรียนรู้เกี่ยวกับ Linux มากกว่าซอฟต์แวร์ประเภทอื่นไหน ๆ
    ไม่แน่ใจเหมือนกันว่าประสิทธิภาพการทำงานเพิ่มขึ้นจริงไหม แต่เป็นประสบการณ์การเรียนรู้ที่ยอดเยี่ยม ถูกหลักสรีรศาสตร์ และความรู้สึกพึงพอใจจากการค่อย ๆ สร้างสภาพแวดล้อมเดสก์ท็อปของตัวเองขึ้นมาตั้งแต่ฐานนั้นมหาศาลมาก

    • คิดว่า window manager ตัวไหนน่าสนใจที่สุดบ้าง?