如何将 Awesome 的 `rc.lua` 配置分成多个文件?

kra*_*mir 14 window-manager configuration files awesome lua

我刚刚从 OpenBox 转移到 Awesome WM。我喜欢它的可扩展性、可定制性,并且我对窗口布局有很大的控制权。我喜欢结构化和有组织的东西,我想将庞大的.config/awesome/rc.lua配置分成多个文件。

Mar*_*rco 10

您可以简单地将代码放在一个单独的文件中并将其包含在

dofile("somefile.lua")
Run Code Online (Sandbox Code Playgroud)

注意:工作目录是$HOME. 要指定相对于rc.lua您可以使用的文件

dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Run Code Online (Sandbox Code Playgroud)

如果它不仅仅是一些代码并且它也可能被其他人使用,那么创建一个可以包含在其中的 lua 模块可能是有意义的

somemodule = require("somemodule")
Run Code Online (Sandbox Code Playgroud)


Sha*_*off 5

要将代码移动到不同的文件中,您需要创建一个模块并在 rc.lua 中引入该模块。

要创建模块,您只需调用module (name [, ···])包含您从原始脚本中提取的代码的脚本。Lua 参考模块

要使用您创建的模块,您只需调用require (modname). Lua 参考 - 需要

Lua wiki 上有一个很好的教程,通过示例解释了这一点。如果您想了解module()真正的工作原理,请参阅Play With Lua 上文章,文章从编写 module() 的实现开始。