* Implement simple node script * Add zola documentation * Add gh pages workflow * autogen widget docs
2.9 KiB
Table of Contents
About
Elkowar’s Wacky Widgets is a standalone Widget System made in rust to add AwesomeWM like widgets to any WM
Documentation can be found here
Configuration
Eww’s configuration should be placed in ~/.config/eww/eww.xml
and any scss
styles you want to add should be put into ~/.config/eww/eww.scss
.
Example Config
<eww>
<definitions>
<def name="test">
<box orientation="v">
{{foo}}
<button onclick='notify-send "that hurt,..."'>
click me if you dare :<
</button>
<box>
{{ree}}
<scale min="0" max="100" value="50" onchange="notify-send {}"/>
</box>
</box>
</def>
</definitions>
<variables>
<var name="foo">test</var>
</variables>
<windows>
<window name="main_window">
<size x="100" y="200" />
<pos x="100" y="200" />
<widget>
<test ree="test" />
</widget>
</window>
</windows>
</eww>
Building
Prerequisites
- rustc
- 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, which is necessary to build eww.
Installation
Build the Binary using -:
$ git clone https://github.com/Elkowar/eww.git
$ cd eww
$ cargo build --release
then copy the built binary from ./target/release
to anywhere in $PATH
(example - ~/.local/bin
)
Usage
Create a Config and then just do eww
!
Troubleshooting
If you experience any issues, the following things should be tried:
- Try killing the eww daemon with
eww kill
and run again - If you're running with
-d
, run without-d
to see output, or have a look at ~/.cache/eww.log - use
eww state
, to see the state of all variables - use
eww debug
, to see the xml of your widget and other information - update to the latest eww version
- sometimes hot reloading doesn't work. restart the widget in that case
If you're experiencing issues printing variables, try to print them in quotes, so e.g.
onchange="notify-send '{}'"
Contributing
If you want to contribute, like adding new widgets, features or subcommands, you should definitly do so.
Steps
- Fork this repo
- install dependencies (Prerequisites)
- smash your head against the keyboard from frustration (coding is hard)
- open a pull request once you're finished.