Ik “ben net van OpenBox naar Awesome WM verhuisd. Ik vind het prettig dat het zeer uitbreidbaar en aanpasbaar is en ik heb enorme controle over de lay-out van vensters. Ik hou van gestructureerde en georganiseerde dingen en ik “zou die enorme .config/awesome/rc.lua
configuratie willen scheiden in meerdere bestanden.
Antwoord
U kunt de code gewoon in een apart bestand plaatsen en deze opnemen met
dofile("somefile.lua")
Opmerking: de werkdirectory is $HOME
. Om een bestand relatief aan rc.lua
te specificeren, kunt u
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Als het meer is dan alleen een code en het kan ook door anderen worden gebruikt, kan het zinvol zijn om een lua-module te maken die kan worden opgenomen in
somemodule = require("somemodule")
Reacties
- Het werkt op 50%, ik moet het volledige pad specificeren in plaats van het relatieve pad
- @Miro opgelost, zie update.
- Op Ubuntu, Awesome ' s vereist functie ziet er automatisch uit in .config / awesome /, dus je kunt een verzoek maken van elk bestand dat je wilt plaats daar.
Antwoord
Om code naar een ander bestand te verplaatsen, maak je een module aan en heb je de module nodig in de rc.lua.
Om een module te maken, roep je eenvoudig in het script met de code die je uit het originele script hebt gehaald. Lua reference – module .
Om de door jou gemaakte module te gebruiken, bel je require (modname)
. Lua-referentie – vereist .
Er is een uitstekende tutorial op de Lua-wiki die dit met voorbeelden verklaart. En als je wilt zien hoe module()
echt werkt, is er een artikel over Spelen met Lua dat begint met schrijven een implementatie van module ().
module()
functie is verouderd. Daarom moet de module worden toegewezen aan een variabele, zoalsmodname = require ("modname")