実際にはバーではなく、ワークスペースの上に表示されるオーバーレイであるWip Sway Barの代替。 Sway MODキーが押されていると、オーバーレイが表示されます。
スクリーンショットは、その上に示されている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 "
...
},
}上記のconfiguratuionには、画面の左側に2つのウィジェットがあるパネルが表示されます。 Zenwayが指定されたソースのいずれかが汚れていると判断すると、「キーボード」の場合に「時間」またはキーボードレイアウトが変更された場合にタイマーが期限切れになっているように汚れていると判断すると、指定された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の他の2つのLUA関数も指定しています。これらは、ユーザーマウスのクリックまたはウィジェットのホイールの場合に呼び出されます。レンダリング関数はタグを指定します。ユーザーがウィジェットのその部分でクリックすると、タグはイベントハンドラーの最初の引数になります。
プラットフォームに一致するDockerコンテナを参照して、ローカルに構築してください。 Dockerコンテナには2つの目的があります。 1つは、プルリクエストと2つのリクエストに基づいて、さまざまなプラットフォーム用にローカルに構築されます。
さまざまな分布のためのDockerベースのビルドスクリプトは、プロジェクトルートにあります。各ビルドスクリプトは、バイナリを見つけることができる対応するビルドディレクトリに出力されます。ホストのランタイム依存関係は、手動でインストールする必要があります。
サポートされている分布:
これらのパッケージは、ローカルで構築するために必要です(正確な名前とバージョンは異なる場合があります):
構築するには、GCC、PKG-Config、Meson、Ninjaが必要です
レポートルート:Meson Build、Ninja -C Build
現在、バイナリと構成はインストールされていないため、ビルドディレクトリからバイナリを呼び出します。 configフォルダーを〜/.config/zenwayにコピーします/