Awesome'in rc.lua yapılandırmasını birden çok dosyaya nasıl ayırabilirim?


14

OpenBox'tan Awesome WM'ye geçtim. Çok genişletilebilir, özelleştirilebilir ve pencere düzeni üzerinde büyük kontrolüm var. Yapısal ve organize şeyleri seviyorum ve bu büyük .config/awesome/rc.luayapılandırmayı birden fazla dosyaya ayırmak istiyorum .

Yanıtlar:


11

Kodu ayrı bir dosyaya yerleştirip

dofile("somefile.lua")

Not: Çalışma dizini $HOME. Göre bir dosya belirtmek için rc.luakullanabilirsiniz

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

Sadece bir koddan daha fazlası ve başkaları tarafından da kullanılabiliyorsa, dahil edilebilen bir lua modülü oluşturmak mantıklı olabilir.

somemodule = require("somemodule")

% 50 çalışır, göreli yol yerine tam yol belirtmek zorundayım
kravemir

@Miro düzeltildi, güncellemeye bakın.
Marco

Ubuntu'da, Awesome'in gereksinim işlevi otomatik olarak .config / awesome / biçiminde görünür, böylece buraya koyduğunuz herhangi bir dosya için bir gereksinim yapabilirsiniz.
wdev

5

Kodu farklı bir dosyaya taşımak için bir modül oluşturursunuz ve modülün rc.lua dosyasında bulunması gerekir.

Bir modül oluşturmak için module (name [, ···]), orijinal koddan aldığınız kodu içeren komut dosyasını çağırmanız yeterlidir . Lua referans modülü .

Oluşturduğunuz modülü kullanmak için sadece arayın require (modname). Lua referansı - gerektirir .

Bir yoktur Lua wiki'de mükemmel öğretici örneklerle açıklıyor. Ve module()gerçekten nasıl çalıştığını görmek istiyorsanız , Play With Lua'da module () 'nin bir uygulamasını yazarak başlayan bir makale var .


1
Awesome-3.5 ile başlayarak, lua versiyonunun module()fonksiyonun kullanımdan kaldırıldığı 5.2 olarak güncellendiğini unutmayın . Bu nedenle modül, değişken gibi modname = require ("modname")
atanmalıdır
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.