Alternativa da barra de balanço do WIP que não é realmente uma barra, mas uma sobreposição exibida no topo dos espaços de trabalho. A sobreposição é visível quando a chave do mod Sway é retida.
A captura de tela mostra Neovim e Firefox em segundo plano com o status de Zenway mostrado acima dele.

Na Config Sway, adicione entrada para iniciar o Zenway:
exec zenway
Na configuração da barra de sway:
bar {
mode hide
modifier Mod1
swaybar_command whatever
}
Procura o arquivo de configuração em:
Config.lua deve retornar uma tabela Lua que contém as propriedades de configuração de peça estática:
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 "
...
},
}A configuração acima exibirá um painel com dois widgets no lado esquerdo da tela. Quando o Zenway determina que qualquer uma das fontes especificadas está suja como o timer expirado no caso de 'tempo' ou layout do teclado alterado no caso de 'teclado', a função especificada on_render lua é invocada. Zenway mantém o estado de todas as fontes e torna esse estado acessível de Lua.
É assim que a função de renderização do teclado pode parecer:
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 " ,
}
endOs widgets serão renderizados com o tempo alinhado à esquerda com o teclado renderizado abaixo, conforme especificado pela direção = "coluna".
O widget do teclado também especifica duas outras funções do Lua em On_Click e On_wheel. Eles são chamados quando o usuário clica ou rodas no widget. A função renderiza especifica uma tag, se o usuário clicar nessa parte do widget, a tag será o primeiro argumento para o manipulador de eventos.
Consulte o contêiner Docker que corresponde à sua plataforma para construir localmente. Os recipientes do Docker têm dois propósitos. Primeiro, construa solicitações de tração e duas, construa localmente para diferentes plataformas.
Os scripts de construção baseados no Docker para diferentes distribuições estão no Project Root. Cada script de construção sai para um diretório de construção correspondente, onde o binário pode ser encontrado. As dependências de tempo de execução do host precisam ser instaladas manualmente.
Distribuições suportadas:
Esses pacotes são necessários para construir localmente (o nome e a versão exatos podem variar):
Para construir você precisa de GCC, PKG-Config, Meson e Ninja
Na raiz repo: meseson build, ninja -c build
Atualmente, o Binário e a Config não estão instalados, portanto, invponda o binário do diretório de compilação. Copie a pasta de configuração para ~/.config/zenway/