Scripts2026年7月15日·1 分钟阅读

Eww — Standalone Widget System for Any Linux Window Manager

A standalone widget system written in Rust that lets you build custom status bars, panels, and overlays for any window manager using a declarative configuration language.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Eww Widgets
直接安装命令
npx -y tokrepo@latest install 443252eb-806e-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Eww (ElKowars wacky widgets) is a standalone widget system for Linux written in Rust. It allows you to create custom desktop widgets, status bars, and overlays for any window manager using a Yuck configuration language and CSS styling.

What Eww Does

  • Renders custom widget windows on X11 or Wayland compositors
  • Uses a declarative Yuck language for defining widget structure and logic
  • Supports full CSS styling for pixel-perfect visual customization
  • Polls system data (CPU, RAM, battery, network) via built-in and script variables
  • Manages multiple widget windows with independent positioning and layering

Architecture Overview

Eww parses Yuck configuration files that define widget trees with data bindings, then renders them using GTK. Variables can be bound to shell script output, polled at intervals, or updated via IPC commands. The daemon runs as a background process, and the CLI controls which windows are open or closed.

Self-Hosting & Configuration

  • Requires Rust toolchain and GTK3 development libraries
  • Configuration lives in ~/.config/eww/ with eww.yuck and eww.scss files
  • Use eww daemon to start the background process
  • Widget windows are opened and closed with eww open <name> and eww close <name>
  • Variables update reactively when underlying data sources change

Key Features

  • Works with any X11 or Wayland window manager
  • Yuck language supports conditionals, loops, and custom widget definitions
  • Script-based variables can run arbitrary shell commands for data
  • IPC interface for controlling widgets from external scripts
  • Hot-reload support for rapid configuration iteration

Comparison with Similar Tools

  • Polybar — X11 only status bar with INI config; Eww supports Wayland and arbitrary widget layouts
  • Waybar — Wayland-native bar; Eww offers more flexible widget types beyond bars
  • Conky — system monitor with fixed rendering; Eww provides interactive GTK widgets
  • AGS — JavaScript-based widgets for Hyprland; Eww uses its own Yuck DSL and works everywhere

FAQ

Q: Does Eww work on Wayland? A: Yes. Eww supports both X11 and Wayland compositors via GTK layer-shell.

Q: Can I use it as a full status bar replacement? A: Yes. Many users replace Polybar or Waybar with Eww-based bars that include workspaces, system trays, and clock modules.

Q: How do I get live system data into widgets? A: Use defpoll variables that execute shell commands at set intervals, or deflisten for streaming data from long-running scripts.

Q: Is there a GUI editor for Eww configs? A: No. Configuration is done by editing Yuck and SCSS files directly. The hot-reload feature makes iteration fast.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产