yrwq@site:~/lush.mdx
yrwq@site:~/projects$ cat lush.mdx

lush

lua-scripted desktop widgets for wayland

active
rust
lua
gtk4

source docs

wayland widget framework. write bars, panels, and overlays in lua. daemon is rust, rendering is gtk4 layer-shell.

local lush = require("lush")
local ui = lush.ui
 
lush.data.use("cpu", { interval = 2 })
lush.data.use("battery")
 
ui.windows({
  ui.window({
    name = "top_bar",
    position = "top",
    exclusive = true,
    root = ui.hbox({
      spacing = 10,
      children = {
        ui.label({ bind = "data.cpu.percent", format = "CPU: {value}%" }),
        ui.clock({ format = "%H:%M:%S" }),
        ui.label({ bind = "data.battery.percent", format = "BAT: {value}%" }),
      }
    })
  })
})

hot-reloads lua config on save. comes with data providers for cpu, memory, network, disk, battery. dbus notification daemon with lua styling. css hot reload.

early phase, expect breaking changes. works for basic bars and panels.

main
9