Làm cách nào để tách cấu hình `RC.lua` của Awesome thành nhiều tệp?


14

Tôi mới chuyển đến Awesome WM từ OpenBox. Tôi thích điều đó rất mở rộng, có thể tùy chỉnh và tôi có quyền kiểm soát lớn về bố cục cửa sổ. Tôi thích những thứ có cấu trúc và có tổ chức và tôi muốn tách .config/awesome/rc.luacấu hình khổng lồ đó thành nhiều tệp.

Câu trả lời:


11

Bạn có thể chỉ cần đặt mã trong một tệp riêng biệt và bao gồm nó với

dofile("somefile.lua")

Lưu ý: Thư mục làm việc là $HOME. Để chỉ định một tập tin liên quan đến rc.luabạn có thể sử dụng

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

Nếu nó không chỉ là một số mã và nó cũng có thể được sử dụng bởi những người khác, thì việc tạo ra một mô-đun lua có thể đi kèm với nó có ý nghĩa

somemodule = require("somemodule")

Nó hoạt động ở mức 50%, tôi phải chỉ định đường dẫn đầy đủ thay vì đường dẫn tương đối
kravemir

@Miro đã sửa, xem cập nhật.
Marco

Trên Ubuntu, chức năng yêu cầu của Awesome trông tự động trong .config / awesome /, vì vậy bạn có thể yêu cầu bất kỳ tệp nào bạn đặt ở đó.
wdev

5

Để di chuyển mã vào một tệp khác, bạn tạo một mô-đun và yêu cầu mô-đun trong RC.lua.

Để tạo một mô-đun, bạn chỉ cần gọi module (name [, ···])trong tập lệnh có mã bạn đã rút ra khỏi tập lệnh gốc. Lua tham khảo - module .

Để sử dụng mô-đun bạn đã tạo, bạn chỉ cần gọi require (modname). Lua tham khảo - yêu cầu .

Có một hướng dẫn tuyệt vời trên wiki Lua giải thích điều này bằng các ví dụ. Và nếu bạn muốn xem làm thế nào module()thực sự hoạt động, có một bài viết về Play With Lua bắt đầu bằng cách viết một triển khai mô-đun ().


1
Lưu ý rằng bắt đầu với awesome-3.5 phiên bản lua đã được cập nhật lên 5.2, trong đó module()chức năng không được dùng nữa. Do đó, mô-đun phải được gán cho một biến, nhưmodname = require ("modname")
crater2150
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.