Tocmai m-am mutat în Awesome WM din OpenBox. Îmi place că este foarte extensibil, personalizabil și am un control imens asupra aspectului ferestrei. Îmi plac lucrurile structurate și organizate și „aș dori să separ acea configurație imensă .config/awesome/rc.lua
în mai multe fișiere.
Răspunde
Puteți pur și simplu plasa cod într-un fișier separat și îl puteți include cu
dofile("somefile.lua")
Notă: Directorul de lucru este $HOME
. Pentru a specifica un fișier relativ la rc.lua
puteți utiliza
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Dacă este mai mult decât un cod și ar putea fi folosit și de alții, ar putea avea sens să creăm un modul lua care poate fi inclus cu
somemodule = require("somemodule")
Comentarii
- Funcționează la 50%, trebuie să specific calea completă în loc de calea relativă
- @Miro remediat, consultați actualizarea.
- Pe Ubuntu, funcția Awesome ' necesită funcționarea automată în .config / awesome /, astfel încât să puteți solicita orice fișier pe care îl aveți pune acolo.
Răspuns
Pentru a muta codul într-un fișier diferit, creați un modul și solicitați modulul în rc.lua.
Pentru a crea un modul, pur și simplu apelați module (name [, ···])
în scriptul care conține codul pe care l-ați scos din scriptul original. Lua reference – module .
Pentru a utiliza modulul pe care l-ați creat, trebuie doar să apelați require (modname)
. Lua reference – require .
Există un excelent tutorial pe Lua wiki care explică acest lucru cu exemple. Și dacă doriți să vedeți cum funcționează cu adevărat module()
, există un articol despre Play With Lua care începe prin a scrie o implementare a modulului ().
module()
funcția este depreciată. Prin urmare, modulul trebuie atribuit unei variabile, cum ar fimodname = require ("modname")