Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://jcrd.github.io/awesome-ez/

AwesomeWM library for simplifying key and button binding definitions
https://jcrd.github.io/awesome-ez/

awesomewm lua

Last synced: 2 months ago
JSON representation

AwesomeWM library for simplifying key and button binding definitions

Awesome Lists containing this project

README

        

# awesome-ez

awesome-ez is a library for [Awesome](https://github.com/awesomeWM/awesome)
window manager that aims to simplify the creation of key and button bindings.
It is based on code from the old Awesome wiki.

## Installation

Install the latest stable release with `luarocks`:

```sh
luarocks install awesome-ez
```

## Usage

Require the library:

```lua
local ez = require("awesome-ez")
```

Use `ez.keytable` to define key bindings:

```lua
local globalkeys = ez.keytable {
["M-Return"] = {awful.spawn, "xterm"},
...
}
```

Use `ez.btntable` to define button bindings:

```lua
local clientbtns = ez.btntable {
["1"] = function (c) client.focus = c end,
["M-1"] = awful.mouse.client.move,
["M-3"] = awful.mouse.client.resize,
}
```

Binding definition strings consist of modifier characters and a key or button
separated by hyphens, e.g. `M-S-x` is the combination of `Mod4`, `Shift`, and
the `x` key.

See the [API documentation](https://jcrd.github.io/awesome-ez/) for
descriptions of all functions.

### Modifiers

The following modifiers can be identified by their default shorthand characters
in key and button definitions:

Character | Modifier
--------- | --------
M | Mod4
A | Mod1
S | Shift
C | Control

The `modifiers` table can be customized:

```lua
ez.modifiers["M"] = "Mod1"
```

## License

This project is licensed under the MIT License (see [LICENSE](LICENSE)).