zenway
1.0.0
WIP Sway bar的替代方案並不是真正的欄,而是在工作區頂部顯示的覆蓋層。當按下搖擺mod鍵時,覆蓋層是可見的。
屏幕截圖顯示了Neovim和Firefox的背景,上面顯示了Zenway狀態。

在Sway Config添加條目以啟動Zenway:
exec zenway
在Sway Config Bar配置:
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確定任何指定的源在“ TIME”或鍵盤佈局在“鍵盤”中更改的計時器時,如果調用了指定的ON_RENDER LUA函數,則會更改。 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容器有兩個目的。一個是根據拉動請求和兩個建立,在本地為不同的平台構建。
基於Docker的構建腳本用於不同的分佈。每個構建腳本都輸出到可以找到二進制的相應構建目錄。需要手動安裝對主機的運行時依賴關係。
支持的分佈:
這些軟件包需要在本地構建(確切的名稱和版本可能會有所不同):
要構建您需要GCC,PKG-Config,Meson和Ninja
在repo root中:梅森構建,忍者-c構建
二進制和配置當前尚未安裝,因此可以從構建目錄中調用二進製文件。將配置文件夾複製到〜/.config/zenway/