Jag har just flyttat till Awesome WM från OpenBox. Jag tycker att det är mycket utdragbart, anpassningsbart och jag har enorm kontroll över fönsterlayouten. Jag gillar strukturerade och organiserade saker och jag vill separera den enorma .config/awesome/rc.lua
-konfigurationen i flera filer.
Svar
Du kan helt enkelt placera koden i en separat fil och inkludera den med
dofile("somefile.lua")
Obs! Arbetskatalogen är $HOME
. För att ange en fil i förhållande till rc.lua
kan du använda
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Om det är mer än bara någon kod och det kan användas av andra också, kan det vara vettigt att skapa en lua-modul som kan ingå i
somemodule = require("somemodule")
Kommentarer
- Det fungerar på 50%, jag måste ange hela sökvägen istället för relativ sökväg
- @Miro fixad, se uppdatering.
- På Ubuntu ser Awesome ' -funktionen automatiskt ut i .config / awesome /, så att du kan göra krav på alla filer du har sätta det.
Svara
För att flytta koden till en annan fil skapar du en modul och kräver modulen i rc.lua.
För att skapa en modul ringer du helt enkelt module (name [, ···])
i skriptet som har koden som du drog ut ur originalskriptet. Lua-referens – modul .
För att använda modulen du skapade ringer du bara till require (modname)
. Lua-referens – kräver .
Det finns en utmärkt handledning på Lua-wiki som förklarar detta med exempel. Och om du vill se hur module()
verkligen fungerar finns det en artikel om Play With Lua som börjar med att skriva en implementering av modul ().
module()
-funktionen har upphört. Därför måste modulen tilldelas en variabel, sommodname = require ("modname")