สร้างธีมของคุณเอง¶
คุณสามารถเพิ่มธีมของคุณเองไปยัง ~/.config/omaros/themes ได้ แค่คัดลอกหนึ่งในธีมที่มีอยู่เป็นฐาน (ดูใน /usr/share/omaros/themes) แล้วปรับแต่งให้พอใจ ตราบใดที่ธีมของคุณอยู่ภายในโฟลเดอร์นั้น มันจะรวมอยู่ในเมนูเลือกธีม
ไฟล์หลักที่คุณต้องปรับคือ colors.toml นั่นกำหนดชุดสีซึ่งจากนั้นถูกใช้เพื่อสร้างการกำหนดค่าสำหรับเทอร์มินัล (Foot/Alacritty/Ghostty/Kitty), btop, Chromium, Hyprland, Neovim, Helix, VSCode, Obsidian และ OmarOS shell ทั้งหมด (แถบบน เมนู การแจ้งเตือน OSD และหน้าจอล็อก)
คุณยังใช้แอปพลิเคชัน Aether ที่รวมอยู่เพื่อสร้างธีมใหม่โดยใช้อินเทอร์เฟซ GUI ที่สวยงามสำหรับเล่นกับสีและค้นหาพื้นหลังได้ แค่เริ่มมันจากตารางแอปบน Super + Alt + Space
สิ่งที่ธีมที่ติดตั้งแล้วสามารถบรรจุได้¶
ธีมที่คุณเขียนเองใน ~/.config/omaros/themes สามารถบรรจุอะไรก็ได้ที่คุณชอบ — มันคือเครื่องและไฟล์ของคุณ และ OmarOS นำมันทั้งหมดไปใช้
ธีมที่คุณติดตั้งจาก repo ของคนอื่นด้วย omaros theme install เก็บทุกอย่างที่เป็นสีไว้ และเสียไฟล์จำนวนหนึ่งที่จะรันโค้ดบนเครื่องของคุณไป: ไฟล์ .lua ใด ๆ การกำหนดค่าเทอร์มินัล (alacritty.toml, foot.ini, ghostty.conf, kitty.conf) และ vscode.json ไฟล์ hyprland.lua ของธีมคือ Lua ที่ compositor ของคุณรันตอนเข้าสู่ระบบ การกำหนดค่าเทอร์มินัลระบุโปรแกรมที่เทอร์มินัลของคุณเริ่ม และ vscode.json ระบุส่วนขยาย VSCode ที่จะติดตั้ง การติดตั้งธีมของใครบางคนควรเปลี่ยนรูปลักษณ์เดสก์ท็อปของคุณ ไม่ใช่เปลี่ยนสิ่งที่มันรันเลย
ทุกอย่างอื่นยังคงทำงานตรงตามที่ผู้เขียนธีมเขียนไว้ — btop.theme, chromium.theme, helix.toml, icons.theme, shell.toml พื้นหลังและภาพตัวอย่างทั้งหมดถูกเก็บไว้ มีเพียงสิ่งที่ถูกทิ้งเท่านั้นที่ถูกสร้างใหม่จาก colors.toml บนเครื่องของคุณ
OmarOS แยกสองอย่างนี้โดยดูว่าธีมมี git repo ของตัวเองอยู่ภายในหรือไม่ ซึ่งเป็นสิ่งที่ omaros theme install ทิ้งไว้เมื่อมันโคลน ธีมที่คุณเขียนจึงยังเป็นของคุณ และอันที่คุณดึงมาจากอินเทอร์เน็ตยังคงเป็นแค่สี
โหมดสว่าง¶
ถ้าคุณกำลังสร้างธีมโหมดสว่าง ให้ตั้ง mode = "light" ที่ด้านบนของ colors.toml ของคุณ แล้วมันจะจับคู่กับโหมดสว่างสำหรับทุกแอปโดยอัตโนมัติ (วิธีเก่าของการวางไฟล์เปล่าชื่อ light.mode ไว้ในรากของธีมของคุณก็ยังใช้ได้เช่นกัน)
สีไอคอน¶
ถ้าคุณอยากให้ไอคอนตัวจัดการไฟล์เข้าคู่สีกับธีมของคุณ ให้เพิ่มไฟล์ชื่อ icons.theme พร้อมชื่อชุดไอคอนที่คุณอยากใช้ เป็นค่าเริ่มต้น ตัวเลือกคือ: Yaru Yaru-blue Yaru-dark Yaru-magenta Yaru-olive Yaru-prussiangreen Yaru-purple Yaru-red Yaru-sage Yaru-wartybrown Yaru-yellow
ภาพปลดล็อก¶
ธีมที่มาพร้อมภาพ unlock.png และ preview-unlock.png จะปรากฏภายใต้ สไตล์ > ปลดล็อก unlock.png ของคุณควรเป็น png แบบโปร่งใส และคุณสามารถสร้างภาพตัวอย่างได้โดยใช้ omaros plymouth preview
การกำหนดธีมให้แอปที่ OmarOS ไม่ครอบคลุม¶
ถ้าคุณใช้แอปที่ไม่อยู่ในรายการนั้น คุณสามารถสอน OmarOS ให้กำหนดธีมให้มันด้วยตัวเองโดยใช้เทมเพลต วางไฟล์ใน ~/.config/omaros/themed/ ที่ตั้งชื่อตามการกำหนดค่าที่มันสร้างบวกนามสกุล .tpl และเขียนการกำหนดค่าด้วย {{ background }}, {{ foreground }}, {{ accent }}, {{ red }}, {{ color0 }} ถึง {{ color15 }} และพาเลตที่เหลือเป็นตัวแทนที่ ทุกครั้งที่คุณสลับธีม ไฟล์จะถูกสร้างใหม่ด้วยสีของธีมนั้น
มี alacritty.toml.tpl.sample ที่คอมเมนต์ไว้ครบถ้วนในโฟลเดอร์นั้นให้คัดลอกจาก — มันแสดงทุกตัวแปรที่คุณใช้ได้ บวกกับตัวปรับแต่ง _strip และ _rgb สำหรับแอปที่อยากได้สีโดยไม่มี # หรือเป็น RGB แบบทศนิยม เทมเพลตของคุณมีลำดับความสำคัญเหนือเทมเพลตของ OmarOS เอง คุณจึงใช้สิ่งนี้เพื่อแทนที่วิธีที่แอปในตัวถูกกำหนดธีมได้เช่นกัน
การแจกจ่ายธีมของคุณ¶
ถ้าคุณอยากแจกจ่ายธีมของคุณเพื่อให้คนอื่นใช้ได้ คุณต้องใส่มันไว้บนเซิร์ฟเวอร์ git สาธารณะ เช่น GitHub แล้วผู้คนจะติดตั้งมันได้โดยใช้ ติดตั้ง > สไตล์ > ธีม ในเมนู OmarOS โดยใช้ URL นั้น แนะนำให้คุณทำตามธรรมเนียมการตั้งชื่อ omaros-[themename]-theme เพราะธีมจะแสดงอย่างถูกต้องเป็นเพียง [themename] ในเมนูเลือกธีมหลังติดตั้ง
[themename] ที่เหลืออยู่นั้นกลายเป็นชื่อไดเรกทอรีของธีม มันจึงต้องเป็นชื่อที่ OmarOS ส่งต่อได้อย่างปลอดภัย: มันต้องเริ่มด้วยตัวอักษร ตัวเลข หรือขีดล่าง และส่วนที่เหลืออาจมีตัวอักษร ตัวเลข ., _, + และ - ตัวพิมพ์ใหญ่จะถูกแปลงเป็นตัวพิมพ์เล็กให้คุณ แต่อะไรอื่น — ช่องว่าง เครื่องหมายคำพูด ตัวอักษรที่ไม่ใช่ภาษาอังกฤษ — จะถูกปฏิเสธตอนติดตั้งแทนที่จะกลายเป็นชื่อไดเรกทอรี ดังนั้น omaros-tokyo-night-theme, omaros-flexoki_light-theme และ omaros-c++-theme ล้วนติดตั้งได้ดี
จำไว้ว่าเมื่อมันถูกติดตั้งจาก repo แล้ว ไฟล์ .lua การกำหนดค่าเทอร์มินัล หรือ vscode.json ใด ๆ ที่มันมาพร้อมจะถูกทิ้ง ดังนั้นอย่าสร้างธีมรอบ ๆ สิ่งเหล่านั้น