Me acabo de mudar a Awesome WM desde OpenBox. Me gusta que es muy extensible, personalizable y tengo un gran control sobre el diseño de las ventanas. Me gustan las cosas estructuradas y organizadas y me gustaría separar esa enorme configuración .config/awesome/rc.lua
en varios archivos.
Respuesta
Simplemente puede colocar el código en un archivo separado e incluirlo con
dofile("somefile.lua")
Nota: El directorio de trabajo es $HOME
. Para especificar un archivo relativo a rc.lua
puede usar
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Si se trata de algo más que un código y también puede ser utilizado por otros, podría tener sentido crear un módulo lua que se pueda incluir con
somemodule = require("somemodule")
Comentarios
- Funciona al 50%, tengo que especificar la ruta completa en lugar de la ruta relativa
- @Miro arreglado, ver actualización.
- En Ubuntu, Awesome ' s require función se ve automáticamente en .config / awesome /, por lo que puede hacer un requerimiento de cualquier archivo que poner allí.
Responder
Para mover código a un archivo diferente, crea un módulo y requiere el módulo en rc.lua.
Para crear un módulo, simplemente llame a module (name [, ···])
en el script que tiene el código que extrajo del script original. Referencia de Lua – módulo .
Para usar el módulo que creó, simplemente llame a require (modname)
. Referencia de Lua – requiere .
Hay un excelente tutorial en la wiki de Lua que explica esto con ejemplos. Y si quieres ver cómo module()
funciona realmente, hay un artículo sobre Jugar con Lua que comienza por escribir una implementación de module ().
module()
La función está obsoleta. Por lo tanto, el módulo debe asignarse a una variable, comomodname = require ("modname")