ElKowars wacky widgets
Go to file
2020-10-18 23:25:48 +02:00
.github/workflows CI/CD & Formatting (#6) 2020-10-18 23:25:00 +02:00
docs write to log file 2020-10-18 23:25:00 +02:00
src Add MIT license 2020-10-18 23:25:48 +02: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 Ipc cleanup (#18) 2020-10-18 23:25:00 +02:00
Cargo.toml Ipc cleanup (#18) 2020-10-18 23:25:00 +02:00
LICENSE Add MIT license 2020-10-18 23:25:48 +02:00
README.md rename layout to box and introduce non-functional input 2020-10-18 23:25:00 +02:00
rust-toolchain add toolchain file 2020-10-18 23:25:00 +02:00
rustfmt.toml CI/CD & Formatting (#6) 2020-10-18 23:25:00 +02:00
two.png Add configuration docs (#17) 2020-10-18 23:25:00 +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

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}}
          <slider 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!