Sono appena passato a Awesome WM da OpenBox. Mi piace che sia molto estensibile, personalizzabile e ho un enorme controllo sul layout delle finestre. Mi piacciono le cose strutturate e organizzate e “mi piacerebbe separare quellenorme .config/awesome/rc.lua
configurazione in più file.
Risposta
Puoi semplicemente inserire il codice in un file separato e includerlo con
dofile("somefile.lua")
Nota: la directory di lavoro è $HOME
. Per specificare un file relativo a rc.lua
puoi utilizzare
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Se “è più di un semplice codice e potrebbe essere usato anche da altri, potrebbe avere senso creare un modulo lua che può essere incluso con
somemodule = require("somemodule")
Commenti
- Funziona al 50%, devo specificare il percorso completo invece del percorso relativo
- @Miro risolto, vedi aggiornamento.
- Su Ubuntu, la funzione Awesome ' s require appare automaticamente in .config / awesome /, quindi puoi richiedere qualsiasi file tu mettere lì.
Risposta
Per spostare il codice in un file diverso, crei un modulo e richiedi il modulo in rc.lua.
Per creare un modulo, chiama semplicemente module (name [, ···])
nello script che contiene il codice che hai estratto dallo script originale. Riferimento Lua – modulo .
Per utilizzare il modulo che hai creato, chiama require (modname)
. Riferimento Lua – richiesto .
Cè un eccellente tutorial sul wiki di Lua che spiega questo con esempi. E se vuoi vedere come funziona module()
, cè un articolo su Play With Lua che inizia scrivendo unimplementazione di module ().
module()
la funzione è deprecata. Pertanto il modulo deve essere assegnato a una variabile, comemodname = require ("modname")