실제로 막대가 아니라 작업 공간 위에 오버레이가 표시되는 Wip Sway Bar 대안. 스웨이 모드 키가 고정 될 때 오버레이가 보입니다.
스크린 샷은 Zenway 상태가있는 Neovim과 Firefox를 백그라운드에서 보여줍니다.

Sway Config에서 Zenway를 시작하기 위해 항목을 추가합니다.
exec zenway
Sway Config Bar Config :
bar {
mode hide
modifier Mod1
swaybar_command whatever
}
구성 파일 검색 :
config.lua 정적 부품 구성 속성이 포함 된 LUA 테이블을 반환해야합니다.
return {
panels = {
{
anchor = " left "
widgets = {
{ sources = { ' time ' , ' date ' }, on_render = render_time },
{ sources = { ' keyboard ' }, on_render = render_keyboard , on_click = click_keyboard , on_wheel = wheel_keyboard },
},
direction = " column " ,
},
{
anchor = " right "
...
},
}위의 구성은 화면 왼쪽에 두 개의 위젯이있는 패널을 표시합니다. Zenway가 지정된 소스가 '시간'의 경우 타이머가 만료 된 타이머와 같은 더러워진 것으로 판단되면 '키보드'의 경우 변경된 경우 키보드 레이아웃이 변경되었습니다. Zenway는 모든 출처의 상태를 유지하고 LUA에서 그 상태를 악화시킬 수 있습니다.
키보드 렌더링 기능이 다음과 같은 방식입니다.
local function render_keyboard ()
-- State of sources are kept in zen.<source>.<prop>
local layout = zen . keyboard . layout
-- Pango markup
local markup = " <span size='20pt' color='#909090'> " .. layout .. " </span> "
-- Simplified layout rendered by Zenway
return {
type = " box " ,
markup = markup ,
color = " #1c1b19 " ,
radius = 5 ,
border = { width = 2 , color = ' #10101080 ' },
tag = " id " ,
}
end위젯은 왼쪽에 정렬 된 상태에서 렌더링됩니다.
키보드 위젯은 ON_CLICK 및 ON_WHEEL의 다른 두 개의 LUA 기능을 지정합니다. 사용자 마우스가 위젯에서 클릭하거나 휠을 클릭 할 때 호출됩니다. 렌더링 함수는 사용자가 위젯의 해당 부분에서 클릭하면 태그를 지정합니다. 태그는 이벤트 핸들러의 첫 번째 인수가됩니다.
플랫폼과 일치하는 Docker 컨테이너를 참조하여 로컬로 구축하십시오. Docker 컨테이너에는 두 가지 목적이 있습니다. 하나는 풀 요청을 구축하고 2 개는 다른 플랫폼을 위해 로컬로 빌드하십시오.
다른 분포에 대한 Docker 기반 빌드 스크립트는 프로젝트 루트에 있습니다. 각 빌드 스크립트는 이진을 찾을 수있는 해당 빌드 디렉토리로 출력합니다. 호스트의 런타임 종속성은 수동으로 설치해야합니다.
지원되는 분포 :
이 패키지는 로컬로 빌드하는 데 필요합니다 (정확한 이름과 버전은 다를 수 있음).
구축하려면 GCC, PKG-Config, Meson 및 Ninja가 필요합니다
Repo Root : Meson Build, Ninja -C 빌드
바이너리 및 구성은 현재 설치되지 않으므로 빌드 디렉토리에서 바이너리를 호출하십시오. 구성 폴더를 ~/.config/Zenway/로 복사하십시오.