Jeg er lige flyttet til Awesome WM fra OpenBox. Jeg kan godt lide, at det er meget udvideligt, kan tilpasses, og jeg har enorm kontrol over vindueslayout. Jeg kan godt lide strukturerede og organiserede ting, og jeg vil gerne adskille den enorme .config/awesome/rc.lua
-konfiguration i flere filer.
Svar
Du kan simpelthen placere koden i en separat fil og inkludere den med
dofile("somefile.lua")
Bemærk: Arbejdsmappen er $HOME
. For at specificere en fil i forhold til rc.lua
kan du bruge
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Hvis det er mere end bare en kode og det muligvis også bruges af andre, kan det være fornuftigt at oprette et lua-modul, der kan inkluderes i
somemodule = require("somemodule")
Kommentarer
- Det fungerer med 50%, jeg skal angive den fulde sti i stedet for den relative sti
- @Miro fast, se opdatering.
- På Ubuntu ser fantastiske ' -funktion automatisk ud i .config / awesome /, så du kan stille krav til enhver fil, du har der.
Svar
For at flytte kode til en anden fil opretter du et modul og kræver modulet i rc.lua.
For at oprette et modul skal du blot ringe til module (name [, ···])
i det script, der har den kode, du trak ud af det originale script. Lua-reference – modul .
For at bruge det modul, du oprettede, skal du bare ringe til require (modname)
. Lua-reference – kræver .
Der er en fremragende tutorial på Lua-wiki der forklarer dette med eksempler. Og hvis du vil se, hvordan module()
virkelig fungerer, er der en artikel om Play With Lua , der starter med at skrive en implementering af modul ().
module()
-funktionen er udfaset. Derfor skal modulet tildeles en variabel sommodname = require ("modname")