วิธีการแยกการตั้งค่า `rc.lua` ของ Awesome ออกเป็นหลาย ๆ ไฟล์?


14

ฉันเพิ่งย้ายไป Awesome WM จาก OpenBox ฉันชอบที่มันสามารถขยายได้มากปรับแต่งได้และฉันมีการควบคุมขนาดใหญ่เกี่ยวกับเค้าโครงหน้าต่าง ฉันชอบสิ่งที่มีโครงสร้างและเป็นระเบียบและฉันต้องการแยก.config/awesome/rc.luaการกำหนดค่าขนาดใหญ่ออกเป็นหลายไฟล์

คำตอบ:


11

คุณสามารถวางรหัสในไฟล์แยกต่างหากและรวมกับมันได้

dofile("somefile.lua")

หมายเหตุ: $HOMEไดเรกทอรีการทำงานคือ เพื่อระบุไฟล์ที่เกี่ยวข้องกับrc.luaคุณสามารถใช้

dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")

หากมันเป็นมากกว่ารหัสบางส่วนและอาจถูกใช้โดยผู้อื่นเช่นกันมันอาจสมเหตุสมผลในการสร้างโมดูล lua ซึ่งสามารถรวมกับ

somemodule = require("somemodule")

ใช้งานได้ 50% ฉันต้องระบุเส้นทางแบบเต็มแทนเส้นทางญาติ
kravemir

@Miro คงที่ดูการปรับปรุง
Marco

ใน Ubuntu ฟังก์ชั่นต้องใช้ Awesome มีลักษณะโดยอัตโนมัติใน. config / Awesome / ดังนั้นคุณสามารถสร้างไฟล์ใด ๆ ที่คุณต้องการได้
wdev

5

ในการย้ายรหัสไปยังไฟล์อื่นคุณต้องสร้างโมดูลและต้องการโมดูลใน rc.lua

ในการสร้างโมดูลคุณเพียงโทรหาmodule (name [, ···])สคริปต์ที่มีรหัสที่คุณดึงออกมาจากสคริปต์ต้นฉบับ อ้างอิง Lua - โมดูล

require (modname)การใช้โมดูลที่คุณสร้างคุณเพียงโทร อ้างอิง Lua - ต้อง

มีการสอนที่ยอดเยี่ยมเกี่ยวกับ Lua wikiที่อธิบายสิ่งนี้ด้วยตัวอย่าง และถ้าคุณต้องการที่จะดูว่าการmodule()ทำงานจริง ๆ มีบทความเกี่ยวกับ Play With Luaที่เริ่มต้นด้วยการเขียนการใช้งานโมดูล ()


1
โปรดทราบว่าเริ่มต้นด้วย Awesome-3.5 เวอร์ชัน lua ได้รับการอัปเดตเป็น 5.2 ซึ่งmodule()ฟังก์ชั่นถูกคัดค้าน ดังนั้นโมดูลจะต้องได้รับมอบหมายให้ตัวแปรเช่นmodname = require ("modname")
crater2150
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.