explaingit

elkowar/eww

12,369RustAudience · developerComplexity · 3/5Setup · moderate

TLDR

A standalone Linux tool for building custom desktop widgets like status bars, clocks, and system monitors that work with any window manager, no desktop environment lock-in.

Mindmap

mindmap
  root((eww))
    What it does
      Custom widgets
      Status bars
      Dashboards
    Tech stack
      Rust
      GTK toolkit
    Use cases
      System monitor
      App launcher
      Power menu
    Community
      Example configs
      Pull request process
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a custom status bar showing CPU, memory, and network usage on your Linux desktop.

USE CASE 2

Create a floating clock or calendar widget that stays visible regardless of which window manager you use.

USE CASE 3

Design a full desktop dashboard with system monitors and an app launcher from community example configs.

Tech stack

RustGTK

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Linux with GTK installed and a compatible window manager, configuration syntax has a learning curve.

In plain English

Eww (Elkowars Wacky Widgets) is a tool for Linux desktop users who want to build custom visual elements on their screen, such as status bars, clocks, system monitors, or dashboards, without being locked into a specific desktop environment or window manager. It runs independently and works alongside whichever window manager you use. You define your widgets using a configuration file, describing what they look like and what data they display. The project is built in Rust and uses the GTK graphical toolkit that is common on Linux desktops. Installation and configuration instructions are hosted on a separate documentation site linked from the README. The README is mostly a gallery of community examples showing different uses: top and bottom bars showing system information, application launchers, power menus, and full desktop dashboards. These come from contributors who have shared their configurations publicly, giving new users something to start from. The project is open to contributions. If you want to add widget types, new features, or example configurations, the README points you to the standard fork-and-pull-request process. The author also notes they are currently working on a separate dotfile management tool called Yolk.

Copy-paste prompts

Prompt 1
I want to create an eww widget that shows my CPU and RAM usage in a minimal status bar on Linux. Give me the configuration file syntax with a working example.
Prompt 2
Using eww, how do I create a clickable power menu widget with shutdown, reboot, and sleep buttons?
Prompt 3
Write me an eww configuration for a bottom bar that displays the current time, battery level, and active workspace.
Prompt 4
I have an eww status bar and want to display output from a custom shell script. How do I bind a widget to script output that refreshes every 5 seconds?
Open on GitHub → Explain another repo

← elkowar on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.