Awesomeの「rc.lua」設定を複数のファイルに分割する方法は?


14

OpenBoxからAwesome WMに移行しました。私はそれが非常に拡張可能で、カスタマイズ可能であり、ウィンドウのレイアウトを非常に制御できることが好きです。構造化され整理されたものが好きで、その巨大な.config/awesome/rc.lua構成を複数のファイルに分割したいと思います。

回答:


11

コードを別のファイルに配置して、それを含めることができます

dofile("somefile.lua")

注:作業ディレクトリは$HOMEです。あなたに関連するファイルを指定するにrc.lua

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

それがいくつかのコード以上のものであり、他の人によっても使用される可能性がある場合、luaモジュールを作成して、

somemodule = require("somemodule")

50%で動作します。相対パスではなくフルパスを指定する必要があります
-kravemir

@Miroが修正されました。更新を参照してください。
マルコ

Ubuntuでは、Awesomeのrequire関数は.config / awesome /で自動的に検索されるため、そこに配置した任意のファイルのrequireを作成できます。
wdev

5

コードを別のファイルに移動するには、モジュールを作成し、rc.luaにモジュールを必要とします。

モジュールを作成するにmodule (name [, ···])は、元のスクリプトから引き出したコードを持つスクリプトを呼び出すだけです。Lua参照モジュール

作成したモジュールを使用するには、単にを呼び出しますrequire (modname)Luaの参照-が必要です

これを例で説明する優れたチュートリアルがLua wikiにあります。そして、module()実際にどのように機能するかを知りたい場合は、Play With Luaに関する記事があります。これは、module()の実装を記述することから始まります。


1
awesome-3.5から、luaバージョンは5.2に更新されましたが、このmodule()機能は非推奨です。したがって、次のようにモジュールを変数に割り当てる必要がありますmodname = require ("modname")
-crater2150
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.