No description
Find a file
ay9thqi3tbqiwbegqsg a[soiaosshasdg dd3c50f3ac
fixed widget docs issues, with missing descriptions and renamed a widget (#47)
* fixed widget docs issues, with missing descriptions and combo box is renamed to combo box text, cause thats what it's actually is

* forgot this one thing

* Update src/widgets/widget_definitions.rs

Co-authored-by: ElKowar <5300871+elkowar@users.noreply.github.com>

* Update src/widgets/widget_definitions.rs

Co-authored-by: ElKowar <5300871+elkowar@users.noreply.github.com>

* Update src/widgets/widget_definitions.rs

Co-authored-by: ElKowar <5300871+elkowar@users.noreply.github.com>

* Update src/widgets/widget_definitions.rs

Co-authored-by: ElKowar <5300871+elkowar@users.noreply.github.com>

* Update src/widgets/widget_definitions.rs

Co-authored-by: ElKowar <5300871+elkowar@users.noreply.github.com>

Co-authored-by: ElKowar <5300871+elkowar@users.noreply.github.com>
2020-10-26 14:41:57 +01:00
.github Add PR template 2020-10-25 18:01:39 +01:00
docs extended troubleshooting in the docs and fixed a few typos (#46) 2020-10-26 09:38:03 +01:00
src fixed widget docs issues, with missing descriptions and renamed a widget (#47) 2020-10-26 14:41:57 +01:00
.editorconfig CI/CD & Formatting (#6) 2020-10-18 23:25:00 +02:00
.gitignore init 2020-09-19 11:12:24 +02:00
Cargo.lock Get rid of a lot of dependencies 2020-10-25 20:40:40 +01:00
Cargo.toml Get rid of a lot of dependencies 2020-10-25 20:40:40 +01:00
gen-docs.js Fix replace in build-docs script 2020-10-25 17:41:10 +01:00
LICENSE Add MIT license 2020-10-18 23:25:48 +02:00
README.md Autogen docs (#44) 2020-10-25 16:50:52 +01:00
rust-toolchain add toolchain file 2020-10-18 23:25:00 +02:00
rustfmt.toml Cleanup script-var-handler behaviour 2020-10-19 20:39:34 +02:00

Table of Contents

About

Elkowars Wacky Widgets is a standalone Widget System made in rust to add AwesomeWM like widgets to any WM

Documentation can be found here

Configuration

Ewws 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 :&lt;
          </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

  1. Fork this repo
  2. install dependencies (Prerequisites)
  3. smash your head against the keyboard from frustration (coding is hard)
  4. open a pull request once you're finished.