noobie/README.md

84 lines
1.8 KiB
Markdown
Raw Normal View History

2021-03-13 04:43:13 +01:00
# noobie
Create a wibar widget for Awesome WM with no lua code!
This is widget-maker tool - it creates a widget based on a definition described in JSON format and returned by a script.
For example, if your script returns a following JSON:
```json
{
"widget": {
"icon_path": "smile",
"text": "noobie",
"mouse_actions": {
"on_scroll_up": "echo 'scroll up'",
"on_scroll_down": "echo 'scroll down'",
"on_right_click": "echo 'right click'"
}
}
}
```
noobie will convert it to following widget:
![screenshot](./screenshots/screenshot.png).
You can also create widgets with menu:
```json
{
"widget": {
"icon_path": "smile",
"text": "noobie",
"mouse_actions": {
"on_scroll_up": "echo 'scroll up'",
"on_scroll_down": "echo 'scroll down'",
"on_right_click": "echo 'right click'"
}
},
"menu": {
"items": [
{
"icon": "bell",
"title": "Say hi!",
"onclick": "notify-send 'hi!'"
},
{
"icon": "terminal",
"title": "Execute some script",
"onclick": "/tmp/somescript.sh"
},
{
"icon": "slack",
"title": "OpenSlack",
"onclick": "xdg-open https://slack.com"
}
]
}
}
```
gives:
![](./screenshots/screenshot2.png)
## Plugins
You can create your own scripts in any language, the only rule is - it should return a proper JSON.
Or you can check existing plugins in this repo: https://github.com/streetturtle/noobie-plugins.
## Installation
1. Download the latest release under ~/.config/awesome/ folder
1. At the top of rc.lua add an import:
```lua
local noobie_exmaple = require("noobie")
```
1. Add a widget to wibox and provide a path to your script:
```lua
noobie{ path = os.getenv("HOME") .. '/.config/awesome/noobie/test.sh' },
```