WIP Sway Bar Alternative, que no es realmente una barra, sino una superposición que se muestra en la parte superior de los espacios de trabajo. La superposición es visible cuando la tecla Mod Sway se mantiene presionada.
La captura de pantalla muestra Neovim y Firefox en el fondo con el estado de Zenway que se muestra arriba.

En la configuración Sway, agregue la entrada para iniciar Zenway:
exec zenway
En la configuración de la barra de configuración de Sway:
bar {
mode hide
modifier Mod1
swaybar_command whatever
}
Búsqueda de archivo de configuración en:
config.luA debe devolver una tabla LUA que contenga las propiedades de configuración de la pieza 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 "
...
},
}La configuración anterior anterior mostrará un panel con dos widgets en el lado izquierdo de la pantalla. Cuando Zenway determina que cualquiera de las fuentes especificadas está sucia como el temporizador expirado en el caso de 'tiempo' o diseño de teclado cambiado en el caso de 'teclado', se invoca la función ON_Render LUA especificada. Zenway mantiene el estado de todas las fuentes y hace que ese estado sea accesible de Lua.
Así es como podría verse la función de renderizado del teclado:
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 " ,
}
endLos widgets se representarán con el tiempo alineado a la izquierda con el teclado presentado a continuación como se especifica por la dirección = "columna".
El widget del teclado también especifica otras dos funciones LUA en ON_CLICK y ON_WHEEL. Esos se invocan cuando los usuarios hacen clic o ruedas en el widget. La función Render especifica una etiqueta, si el usuario hace clic en esa parte del widget, la etiqueta será el primer argumento para el controlador de eventos.
Consulte Docker Container que coincida con su plataforma para construir localmente. Los contenedores Docker tienen dos propósitos. Uno, construir en solicitudes de extracción y dos, construir localmente para diferentes plataformas.
Los scripts de compilación basados en Docker para diferentes distribuciones están en la raíz del proyecto. Cada script de compilación sale a un directorio de compilación correspondiente donde se puede encontrar el binario. Las dependencias de tiempo de ejecución en el host deben instalarse manualmente.
Distribuciones compatibles:
Estos paquetes son necesarios para construir localmente (el nombre y la versión exactos pueden variar):
Para construir necesitas GCC, PKG-Config, Meson y Ninja
En Repo Root: Meson Build, Ninja -C Build
Binario y config no están instalados actualmente, así que invoca el binario desde el directorio de compilación. Copie la carpeta de configuración a ~/.config/zenway/