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


14

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

Answers:


11

您只需将代码放在单独的文件中,然后将其包含在

dofile("somefile.lua")

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

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

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

somemodule = require("somemodule")

它以50%的速度工作,我必须指定完整路径而不是相对路径
kravemir 2012年

@Miro已修复,请参阅更新。
马可(Marco)

在Ubuntu上,Awesome的require函数会自动显示在.config / awesome /中,因此您可以对放置在其中的任何文件提出要求。
wdev

5

要将代码移到其他文件中,请创建一个模块,并在rc.lua中要求该模块。

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

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

Lua Wiki上有一个很棒的教程,并通过示例进行了解释。而且,如果您想了解它是如何module()工作的,则有一篇关于Play With Lua文章,文章首先编写了module()的实现。


1
请注意,从awesome-3.5开始,lua版本已更新为5.2,该module()功能已弃用。因此,必须将模块分配给变量,例如modname = require ("modname")
crater2150
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.