Awesome의`rc.lua` 설정을 여러 파일로 분리하는 방법은 무엇입니까?


14

방금 OpenBox에서 Awesome WM으로 옮겼습니다. 나는 확장 성이 뛰어나고 사용자 정의가 가능하며 창 레이아웃에 대해 큰 통제력을 가지고 있습니다. 나는 구조화되고 체계적인 것을 좋아하고 그 거대한 .config/awesome/rc.lua구성을 여러 파일로 분리하고 싶습니다 .

답변:


11

별도의 파일에 코드를 넣고 포함시킬 수 있습니다.

dofile("somefile.lua")

참고 : 작업 디렉토리는 $HOME입니다. 에 파일 상대를 지정하려면 rc.lua사용할 수있는

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

코드 가 단순한 코드 이상이고 다른 코드 에서도 사용될 수있는 경우 포함 할 수있는 루아 모듈을 만드는 것이 좋습니다.

somemodule = require("somemodule")

50 %에서 작동합니다. 상대 경로 대신 전체 경로를 지정해야합니다.
kravemir

@Miro 수정, 업데이트 참조
Marco

Ubuntu에서 Awesome의 require 기능은 .config / awesome /에서 자동으로 표시되므로 거기에 넣은 모든 파일을 요구할 수 있습니다.
wdev

5

코드를 다른 파일로 이동하려면 모듈을 작성하고 rc.lua에 모듈이 필요합니다.

모듈을 만들려면 module (name [, ···])원본 스크립트에서 가져온 코드가있는 스크립트를 호출 하면됩니다. 루아 레퍼런스 모듈 .

생성 한 모듈을 사용하려면을 호출하면 require (modname)됩니다. 루아 참조 필요 .

Lua Wiki 에는 이에 대한 예제 가 포함 된 훌륭한 자습서 가 있습니다. module()실제로 어떻게 작동 하는지 보려면 Play With Lua에 관한 기사 가 있는데 module ()의 구현을 작성하는 것으로 시작합니다.


1
awesome-3.5부터 루아 버전이 5.2로 업데이트되었으며,이 module()기능은 더 이상 사용되지 않습니다. 따라서 모듈은 다음과 같은 변수에 할당되어야합니다.modname = require ("modname")
crater2150
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.