ฉันจะป้องกันไม่ให้ชุดรูปแบบที่ฉันติดตั้งลงใน Ubuntu ส่งผลต่อลักษณะของ Firefox ได้อย่างไร การเปลี่ยนรูปลักษณ์ของหน้าต่างก็โอเค แต่มันเปลี่ยนวิธีที่แท็บเมนูและพื้นที่ข้อความของฉันกำลังมองหา
ฉันจะป้องกันไม่ให้ชุดรูปแบบที่ฉันติดตั้งลงใน Ubuntu ส่งผลต่อลักษณะของ Firefox ได้อย่างไร การเปลี่ยนรูปลักษณ์ของหน้าต่างก็โอเค แต่มันเปลี่ยนวิธีที่แท็บเมนูและพื้นที่ข้อความของฉันกำลังมองหา
คำตอบ:
ฉันกลัวว่าเป็นไปไม่ได้เว้นแต่จะมีคุณสมบัติที่ใช้งานเฉพาะในการทำเช่นนี้เนื่องจาก Firefox ใช้วิดเจ็ตดั้งเดิม ตัวอย่างเช่นปุ่มตกลงบนกล่องโต้ตอบจะมีลักษณะเหมือนกับปุ่มตกลงในตัวเลือก Firefox เป้าหมายคือการสร้างรูปลักษณ์และความรู้สึกทั่วไปที่ใช้กับแอพพื้นฐานทั้งหมด คุณสามารถใช้ชุดรูปแบบเพื่อเปลี่ยนรูปลักษณ์ของ Firefox ได้ตามต้องการ
!important
เพื่อแก้ไขกรณีขอบทั้งหมดจนกว่าฉันจะพบโซลูชันนี้
มีวิธีคือ! ฉันดีใจที่พบสิ่งนี้ - ธีม GTK ของฉันใช้งานได้ดีสำหรับเมนูและแอพพลิเคชั่นส่วนใหญ่ แต่ทำให้ผู้เลือกสีใน Tilda และประเภทอินพุตจำนวนมากใน Firefox (กล่องกาเครื่องหมายปุ่มตัวเลือกข้อความบางอย่าง ฯลฯ ) มองไม่เห็นฉัน ฉันคาดเดาเพราะข้อสันนิษฐานที่ไม่ถูกต้องของทั้งสองฝ่ายเกี่ยวกับการสืบทอดสไตล์ควรทำงานอย่างไร คำขอโทษของฉันถ้าคุณไม่ได้พูดเกี่ยวกับชุดรูปแบบของ GTK ฉันไม่รู้อะไรเกี่ยวกับคนอื่นมากนัก
อย่างไรก็ตามคุณสามารถตั้งค่าตัวแปร GTK_THEME เป็นส่วนนำหน้าไปยังแอปพลิเคชันกราฟิกจากเทอร์มินัลรายการเดสก์ท็อปหรือตัวเรียกใช้งาน ในการทดสอบ Thunar ไม่ได้ให้เกียรติธีม แต่ Gedit และ Firefox ทำเช่นนั้น
เรียกใช้จากเทอร์มินัล:
GTK_THEME=<theme> <application>
ปรับเปลี่ยน launchers ของเดสก์ท็อป:
Exec=env GTK_THEME=<theme> <application> %U
ดูhttps://unix.stackexchange.com/a/185115
แน่นอนว่าคุณยังสามารถใช้ชุดรูปแบบของ Firefox - ในความเป็นจริงคุณจะได้รับผลลัพธ์ที่น่าเชื่อถือมากขึ้นเนื่องจากคุณมีอิสระที่จะยุ่งเกี่ยวกับสภาพแวดล้อมและชุดรูปแบบของ Firefox อย่างอิสระ นอกจากนี้ยังหมายความว่าคุณสามารถตรวจสอบชุดรูปแบบ / สกินของแอปพลิเคชันด้วยชุดรูปแบบดั้งเดิมที่แตกต่างกัน (แม้ในแบตช์!) โดยไม่ต้องเปลี่ยนการกำหนดค่าของคุณเอง ด้วยเหตุนี้ฉันขอแนะนำให้สร้างโปรไฟล์ Firefox ใหม่ที่มีเพียงธีมเบราว์เซอร์ที่ติดตั้งเพื่อทดสอบ
มีข้อแม้อยู่บ้าง ขั้นแรกแอปพลิเคชั่นจำนวนมากมีตัวห่อหุ้มบาง ๆ ที่ตรวจสอบตัวแปรสภาพแวดล้อมเพื่อเตรียมการเรียกใช้ของโปรแกรมหลักและหากพวกเขาพลาดตัวแปรนี้โดยไม่ได้ตั้งใจจะปิดบังมันหรือลบล้างโดยเจตนาการเดิมพันทั้งหมดจะปิด ประการที่สองแอปพลิเคชั่นกราฟิกที่มีหรือไม่มี wrapper ต้องเต็มใจและสามารถอ่านการตั้งค่าเหล่านี้ได้ สำหรับ QT ฉันได้พบสิ่งต่อไปนี้:
QApplication::setDesktopSettingsAware
ตั้งค่าว่า Qt ควรใช้สีแบบอักษรมาตรฐานของระบบเป็นเปิดหรือไม่ โดยค่าเริ่มต้นสิ่งนี้จะเป็นจริง
http://pyqt.sourceforge.net/Docs/PyQt4/qapplication.html#setDesktopSettingsAware
ชุดเครื่องมืออาจมีส่วนต่อประสานสำหรับการสืบทอดธีมโดยทั่วไป แต่มีเกือบทุกวิธี สำหรับการเปรียบเทียบจะเกิดอะไรขึ้นถ้าคุณต้องการใช้ GTK สำหรับองค์ประกอบพื้นฐานใน QT เห็นได้ชัดว่ามีวิธีการแฮร์ริ่งสีแดงหลายวิธีและวิธีที่รู้จักกันน้อยกว่าซึ่งไม่ได้ผลสำหรับทุกคน
https://stackoverflow.com/questions/40455844/make-qt-application-use-gtk-theme
UI ฝันร้ายของฉันกับ Firefox สิ้นสุดลงและหวังว่าคุณจะเป็นเช่นนั้นด้วย หากคุณมีปัญหาเช่นนี้ในอนาคตลองทดสอบใน chroot, VM หรือโปรไฟล์ผู้ใช้ใหม่เพื่อดูว่าตัวแปรใดที่เล่นอยู่ นั่นเป็นเรื่องที่ดีที่สุดที่ฉันสามารถเสนอได้
คุณสามารถแก้ไขโปรไฟล์เริ่มต้น userContent.css:
~/.mozilla/firefox/abc123abc.default/chrome/userContent.css
ตัวอย่างเช่นหากใช้ธีมมืดและข้อความไม่สามารถอ่านได้:
userContent.css:
input {
border: 2px inset white;
background-color: white;
color: black;
-moz-appearance: none !important;
}