ฉันจะปิดการใช้งานการตกแต่งด้านลูกค้าทั่วโลกใน GNOME ได้อย่างไร


16

ฉันใช้ Ubuntu GNOME 17.04 หนึ่งพบการตกแต่งด้านไคลเอนต์ (CSD) เป็นแอปพลิเคชั่น GNOME ส่วนใหญ่ (Nautilus, gedit, Evince ฯลฯ ) ใช้GtkHeaderBars (แถบชื่อเรื่องและแถบเครื่องมือที่รวมกัน คุณลักษณะนี้ถูกปิดใช้งานใน Unity แอปพลิเคชันทั้งหมดใช้แถบชื่อแยกแบบดั้งเดิม

ภาพหน้าจอ (จากบทความนี้ ):

  • Nautilus กับ GtkHeaderBar

  • Nautilus ที่ไม่มี GtkHeaderBar

เพื่อความสอดคล้องฉันต้องการปิดการใช้งาน GtkHeaderBars ทั่วโลก (ในแอปพลิเคชันทั้งหมดที่ใช้) และใช้แถบชื่อแยกต่างหาก มีวิธีการที่จะบรรลุเป้าหมายนั้นหรือไม่?

ฉันได้ยินgtk3-nocsdแพคเกจแล้ว แต่ไม่สามารถทำงานกับ GNOME กับแอปพลิเคชันทั้งหมดได้

คำตอบ:


15

ฉันเกรงว่าสิ่งนี้จะไม่สามารถทำได้เว้นแต่ผู้พัฒนาแอปพลิเคชันจะดูแลคุณสมบัติเช่นนี้ แสดงแถบหัวเรื่องที่ด้านบนของหน้าต่างไม่ได้หมายความว่าปิดการใช้งาน CDS จริง ๆ มันยังขาดเค้าโครงหน้าต่างคลาสสิกเช่นแถบชื่อแถบเมนูแถบเครื่องมือแถบสถานะ

การตกแต่งด้านไคลเอนต์ได้ทำลายอินเทอร์เฟซผู้ใช้ของลินุกซ์และทำให้แอปและสภาพแวดล้อมเดสก์ท็อปดูน่าเกลียดและไม่ได้เกิดจากเจ้าของ

ฉันหวังว่านักพัฒนาทุกคนจะไม่สนใจแนวทางของ Gnome และทำให้แอปพลิเคชันของเขามีประโยชน์และสอดคล้องกับสภาพแวดล้อมทั้งหมด


8

ในขณะที่ฉันเห็นด้วยกับ Vassilis ว่า CSD นั้นน่ากลัว - โชคดีที่เขาผิดเกี่ยวกับความเป็นไปได้ที่จะปิดใช้งานพวกเขา

ใน Ubuntu ติดตั้งgtk3-nocsdแพคเกจแล้วออกจากระบบและเข้าสู่ระบบอีกครั้ง

"แฮ็ค" นี้ทำให้แอปพลิเคชัน GTK + ไม่ปิดการใช้งานการตกแต่งหน้าต่างของเครื่องมือจัดการหน้าต่างอีกต่อไป ผลลัพธ์อาจดูแปลกไปหน่อย - นี่คือลักษณะที่โปรแกรมคำนวณของ GNOME ดูด้วย CSD มาตรฐาน:

ป้อนคำอธิบายรูปภาพที่นี่

และด้วยการแฮ็ค NOCSD:

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถดูตัวอย่างหลายประการว่าทำไม Vassilis ยืนยันว่า CSD เป็นความคิดที่น่ากลัวที่ทำลายส่วนติดต่อผู้ใช้ Linuxเป็นจริง:

  1. ชื่อหน้าต่างที่ไม่ใช่ CSD แสดง "<2>" เพราะฉันใช้งานเครื่องคิดเลข 2 หน้าต่างในเวลาเดียวกันเพื่อจับภาพหน้าจอและ CSD หนึ่งมีชื่อว่า "เครื่องคิดเลข" แต่ไม่แสดงดังนั้นหากหน้าต่างของคุณ ผู้จัดการมี UI รายการหน้าต่าง (เช่น "ทาสก์บาร์") และคุณเห็นว่ามี "เครื่องคิดเลข" อยู่ในรายการมันจะไม่พบสิ่งเล็กน้อยบนหน้าจอ
  2. เครื่องมือจัดการหน้าต่างของฉันเปิดใช้งาน "ปล่อยเงา" ซึ่งทำให้ฉันเห็นได้ง่ายขึ้นว่าหน้าต่างใดที่อยู่เหนือหน้าต่างอื่น ๆ แต่หน้าต่าง CSD ปิดการใช้งานโดยไม่มีเหตุผลที่ดีทำให้หน้าจอของฉันซับซ้อนกว่าที่จะเข้าใจอีกครั้ง
  3. ฉันใช้ฟังก์ชั่น "อยู่ด้านบนเสมอ" เป็นอย่างมากซึ่งเป็นสาเหตุที่ฉันขอให้ตัวจัดการหน้าต่างของฉันแสดงปุ่มที่มีประโยชน์เพื่อเปิดใช้งานมันใกล้กับปุ่มการทำงานของหน้าต่างอื่น ๆ แต่แอป CSD ไม่รู้แน่ชัด ไม่ต้องแสดงมัน ปัญหาเดียวกันกับปุ่ม "พินไปยังเวิร์กสเปซปัจจุบัน" แม้ว่าที่นี่ข้อผิดพลาดจะมีแสงจ้ามากกว่าเนื่องจากอยู่ในการกำหนดค่าเริ่มต้นและ GTK + ควรทราบว่า
  4. สิ่งที่ไม่แสดง (เพราะฉันขี้เกียจ) คือเมนูการทำงานของหน้าต่าง (คลิกขวาที่ชื่อ) ว่าหน้าต่าง CSD มีตัวเลือกที่ จำกัด จำนวนมาก (โดยทั่วไปคือตัวเลือกมาตรฐาน 6 ตัวและ "อยู่ด้านบนเสมอ") ในขณะที่ ตัวจัดการหน้าต่างมีฟังก์ชั่นเพิ่มเติมมากมายที่ฉันมักใช้)
  5. อีกอย่างที่ไม่แสดงคือหน้าต่าง CSD จะไม่เปลี่ยนสีของชื่อเมื่อไม่เปิดใช้งานซึ่งแตกต่างจากหน้าต่างอื่น ๆ ทั้งหมดที่ฉันมี นี่จะเป็นข้อผิดพลาดที่เห็นได้ชัดมากขึ้นหาก KDE ไม่ใช่สภาพแวดล้อมเดสก์ท็อปที่ยอดเยี่ยมและกำหนดค่าแอปพลิเคชัน GTK + ให้ใช้สีหัวเรื่องที่ถูกต้อง - บน DE อื่น ๆ สีหัวเรื่อง GTK + CSD ที่ใช้งานไม่ตรงกับหน้าต่าง สีของชื่อ

1
จากคำถาม: "ฉันเคยได้ยินแพคเกจ gtk3-nocsd แต่ไม่สามารถทำงานกับ GNOME สำหรับแอปพลิเคชันทั้งหมดได้"
muru

อืม ... พลาดแล้วขอโทษ @ pomsky: คุณมีปัญหาอะไรกับgtk3-nocsd?
Guss

มันไม่ทำงานกับ Nautilus เป็นครั้งสุดท้ายที่ฉันลอง
pomsky

มันทำงานได้อย่างถูกต้องสำหรับฉันบน Kubuntu 17.10 ฉันไม่แน่ใจเมื่อโหลด Nautilus ภายใต้เซสชัน Unity แต่ถ้าเกิดขึ้นก่อนgtk3-nocsdสคริปต์ XSession นั่นอาจเป็นสาเหตุ หากยังไม่ได้ผลสำหรับคุณ - ping ฉัน
Guss

4

ฉันสามารถเรียกใช้evinceโปรแกรมดู PDF พร้อมการตกแต่งที่จัดทำโดยเครื่องมือจัดการหน้าต่าง (Openbox) บน Ubuntu 18.04 ดังนี้:

$ sudo apt-get install gtk3-nocsd
$ gtk3-nocsd evince

ดูเหมือนว่าตอนนี้ gtk3-nocsd จะปิดใช้งานแถบส่วนหัวบนเดสก์ท็อปที่ไม่ใช่ GNOME โดยอัตโนมัติโดยไม่มีการกำหนดค่าใด ๆ สำหรับแอพ gtk ทั้งหมดรวมถึง Evince webupd8.org/2014/08/how-to-disable-gtk3-client-side.html
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.