Eww (ElKowar's Wacky Widgets, pronounced with sufficient amounts of disgust) is a widget system made in Rust, which lets you create your own widgets similarly to how you can in AwesomeWM. The key difference: It is independent of your window manager!
Configured in yuck and themed using CSS, it is easy to customize and provides all the flexibility you need!
- cargo (nightly toolchain)
Rather than with your system package manager, I recommend installing it using rustup, as this makes it easy to use the nightly toolchain necessary to build eww.
Additionally, eww requires some dynamic libraries to be available on your system. The exact names of the packages that provide these may differ depending on your distribution. The following list of package names should work for arch linux:
- gtk3 (libgdk-3, libgtk-3)
- gtk-layer-shell (only on Wayland)
- pango (libpango)
- gdk-pixbuf2 (libgdk_pixbuf-2)
- cairo (libcairo, libcairo-gobject)
- glib2 (libgio, libglib-2, libgobject-2)
- gcc-libs (libgcc)
(Note that you will most likely need the -devel variants of your distro's packages to be able to compile eww.)
Once you have the prerequisites ready, you're ready to install and build eww.
First clone the repo:
git clone https://github.com/elkowar/eww
cargo build --release
NOTE: When you're on Wayland, build with:
cargo build --release --no-default-features --features=wayland
Once you've built it you can now run it by entering:
Then make the Eww binary executable:
chmod +x ./eww
Then to run it, enter:
./eww daemon ./eww open <window_name>