Je viens de passer à Awesome WM depuis OpenBox. Jaime le fait quil soit très extensible, personnalisable et jai un énorme contrôle sur la disposition des fenêtres. Jaime les choses structurées et organisées et je « voudrais séparer cette énorme configuration .config/awesome/rc.lua
en plusieurs fichiers.
Réponse
Vous pouvez simplement placer le code dans un fichier séparé et linclure avec
dofile("somefile.lua")
Remarque: Le répertoire de travail est $HOME
. Pour spécifier un fichier relatif à rc.lua
vous pouvez utiliser
dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")
Sil sagit de plus que de du code et quil peut également être utilisé par dautres, il peut être judicieux de créer un module lua qui peut être inclus avec
somemodule = require("somemodule")
Commentaires
- Cela fonctionne à 50%, je dois spécifier le chemin complet au lieu du chemin relatif
- @Miro corrigé, voir mise à jour.
- Sur Ubuntu, la fonction Awesome ' nécessite une recherche automatique dans .config / awesome /, vous pouvez donc demander nimporte quel fichier mis là.
Réponse
Pour déplacer du code dans un autre fichier, vous créez un module et avez besoin du module dans le rc.lua.
Pour créer un module, il vous suffit dappeler module (name [, ···])
dans le script contenant le code que vous avez extrait du script dorigine. Référence Lua – module .
Pour utiliser le module que vous avez créé, il vous suffit dappeler require (modname)
. Référence Lua – Requiert .
Il existe un excellent tutoriel sur le wiki Lua qui explique cela avec des exemples. Et si vous voulez voir comment module()
fonctionne vraiment, il y a un article sur Play With Lua qui commence par écrire une implémentation de module ().
module()
La fonction est obsolète. Par conséquent, le module doit être affecté à une variable, commemodname = require ("modname")