Jak rozdělit úžasnou ' konfiguraci `rc.lua` do více souborů?

Právě jsem se přesunul do Awesome WM z OpenBoxu. Líbí se mi, že je velmi rozšiřitelný, přizpůsobitelný a mám velkou kontrolu nad rozvržením okna. Mám rád strukturované a organizované věci a rád bych rozdělil tuto obrovskou .config/awesome/rc.lua konfiguraci na více souborů.

Odpovědět

Můžete jednoduše umístit kód do samostatného souboru a zahrnout jej

dofile("somefile.lua") 

Poznámka: Pracovní adresář je $HOME. Chcete-li určit soubor relativně k rc.lua, můžete použít

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

Pokud to není jen nějaký kód a mohou ho používat i ostatní, může mít smysl vytvořit modul lua, který lze zahrnout do

somemodule = require("somemodule") 

Komentáře

  • Funguje na 50%, místo relativní cesty musím zadat úplnou cestu
  • @Miro opraveno, viz aktualizace.
  • Na Ubuntu vypadá funkce Awesome ' s automaticky automaticky v .config / awesome /, takže můžete vyžadovat jakýkoli soubor, který vložte tam.

Odpověď

Chcete-li přesunout kód do jiného souboru, vytvoříte modul a vyžadujete modul v rc.lua.

Chcete-li vytvořit modul, jednoduše zavoláte module (name [, ···]) ve skriptu, který obsahuje kód, který jste vytáhli z původního skriptu. Lua reference – modul .

Chcete-li použít vámi vytvořený modul, stačí zavolat require (modname) . Lua reference – require .

Na Lua wiki je vynikající návod to vysvětluje na příkladech. A pokud chcete vidět, jak module() skutečně funguje, existuje článek o hře Play With Lua , který začíná psaním implementace modulu ().

Komentáře

  • Všimněte si, že od verze awesome-3.5 byla verze lua aktualizována na 5.2, kde module() funkce je zastaralá. Proto musí být modul přiřazen k proměnné, například modname = require ("modname")

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *