Ich bin gerade von OpenBox zu Awesome WM gewechselt. Ich finde es gut, dass es sehr erweiterbar und anpassbar ist und ich eine große Kontrolle über das Fensterlayout habe. Ich mag strukturierte und organisierte Dinge und möchte diese riesige .config/awesome/rc.lua
-Konfiguration in mehrere Dateien aufteilen.
Antwort
Sie können Code einfach in eine separate Datei einfügen und ihn in
dofile("somefile.lua")
einfügen. Hinweis: Das Arbeitsverzeichnis ist $HOME
. Um eine Datei relativ zu rc.lua
anzugeben, können Sie
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
verwenden Wenn es mehr als nur ein Code ist und möglicherweise auch von anderen verwendet wird, ist es möglicherweise sinnvoll, ein Lua-Modul zu erstellen, das in
Kommentare
- Es funktioniert zu 50%, ich muss den vollständigen Pfad anstelle des relativen Pfads
- @Miro angeben behoben, siehe Update.
- Unter Ubuntu wird die erforderliche Funktion von Awesome ' automatisch in .config / awesome / angezeigt, sodass Sie jede gewünschte Datei anfordern können dort platzieren.
Antwort
Um Code in eine andere Datei zu verschieben, erstellen Sie ein Modul und benötigen das Modul in der rc.lua.
Um ein Modul zu erstellen, rufen Sie einfach im Skript, das den Code enthält, den Sie aus dem ursprünglichen Skript gezogen haben. Lua-Referenzmodul .
Um das von Ihnen erstellte Modul zu verwenden, rufen Sie einfach require (modname)
auf . Lua-Referenz – erforderlich .
Es gibt ein ausgezeichnetes Tutorial im Lua-Wiki das erklärt dies anhand von Beispielen. Und wenn Sie sehen möchten, wie module()
wirklich funktioniert, gibt es einen Artikel über Play With Lua , der mit dem Schreiben beginnt eine Implementierung von module ().
Kommentare
zugewiesen werden
module()
Funktion ist veraltet. Daher muss das Modul einer Variablen wiemodname = require ("modname")