Właśnie przeniosłem się do Awesome WM z OpenBox. Podoba mi się, że jest on bardzo rozszerzalny, dostosowywalny i mam ogromną kontrolę nad układem okien. Lubię rzeczy ustrukturyzowane i zorganizowane i chciałbym rozdzielić tę ogromną .config/awesome/rc.lua
konfigurację na wiele plików.
Odpowiedź
Możesz po prostu umieścić kod w oddzielnym pliku i dołączyć go do
dofile("somefile.lua")
Uwaga: katalog roboczy to $HOME
. Aby określić plik względem rc.lua
, możesz użyć
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Jeśli jest to coś więcej niż tylko jakiś kod i może być również używany przez innych, sensowne może być utworzenie modułu Lua, który można dołączyć do
somemodule = require("somemodule")
Komentarze
- Działa na 50%, muszę podać pełną ścieżkę zamiast ścieżki względnej
- @Miro naprawiono, patrz aktualizacja.
- W Ubuntu, Awesome ' s require function wygląda automatycznie w .config / awesome /, więc możesz wymagać dowolnego pliku, umieść tam.
Odpowiedz
Aby przenieść kod do innego pliku, tworzysz moduł i potrzebujesz go w rc.lua.
Aby utworzyć moduł, po prostu zadzwoń pod numer module (name [, ···])
w skrypcie zawierającym kod wyciągnięty z oryginalnego skryptu. Dokumentacja Lua – moduł .
Aby skorzystać z utworzonego modułu, wystarczy zadzwonić pod numer require (modname)
. Dokumentacja Lua – wymaga .
Istnieje doskonały samouczek na wiki Lua , który wyjaśnia to przykładami. A jeśli chcesz zobaczyć, jak naprawdę działa module()
, istnieje artykuł w Play With Lua , który zaczyna się od napisania implementacja module ().
module()
funkcja jest przestarzała. Dlatego moduł musi być przypisany do zmiennej, takiej jakmodname = require ("modname")