awesome-ez/README.md

70 lines
1.4 KiB
Markdown

# 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)).