Go to file
streetturtle a401737791
Create CODEOWNERS
2021-09-20 21:17:31 -04:00
.github Create CODEOWNERS 2021-09-20 21:17:31 -04:00
feather_icons draft 2021-02-20 15:07:09 -05:00
screenshots update readme 2021-05-01 22:47:33 -04:00
.gitignore icon now can be from a file or from web 2021-04-26 23:15:02 -04:00
LICENSE Initial commit 2021-02-13 10:17:52 -05:00
README.md Update README.md 2021-07-22 20:37:50 -04:00
example.json small refactoring 2021-06-19 20:46:04 -04:00
init.lua small refactoring 2021-06-19 20:46:04 -04:00
noobie.schema.json update readme 2021-05-01 22:47:33 -04:00
row_builder.lua improvements 2021-05-12 10:22:30 -04:00
test.sh update readme 2021-03-12 22:43:13 -05:00

README.md

noobie

This is a widget-maker tool - it creates a widget based on a JSON definition returned by a script. For example, if your script returns following JSON:

{
  "widget": {
    "icon": "smile",
    "text": "noobie",
    "mouse_actions": {
      "on_right_click": "echo 'right click'"
    }
  }
}

noobie will convert it to the widget:

screenshot.

More complex example (from a people-in-space plugin) with a menu, each menu item has an icon, title and subtitle:

screenshot.

For more examples check out plugins repository: noobie-plugins

Features:

  • dropdown menu:

    menu

  • mouse actions (scroll up/down, right click);

  • icon could be either a local file, a feathericons icon or an image from URL;

  • a notification with details in case your script failed:

    error notification

Plugins

Check out existing plugins in this repo: https://github.com/streetturtle/noobie-plugins.

Creating a plugin

Please consult a noobie.schema.json for details. Below are few important excerpts:

  • icon of the widget or menu item can be one of
    • a name of feathericons icon, you can get it here: feathericons.com;
    • an absolute path to the image file;
    • URL to the image file. If you are not sure image exists, you can add a icon_fallback field with an absolute path to the fallback image;
  • for a horizontal line in the menu add an item with title equals to '-', like
    { "title":  "-" }
    
  • for a header menu item set header field to true, note that the icon field will be ignored:
    {
      "header": "true",
      "title": "Header Title"
    }
    

Installation

  1. Clone the repo under ~/.config/awesome/ folder

  2. At the top of rc.lua add an import:

    local noobie_exmaple_1 = require("noobie")
    local noobie_exmaple_2 = require("noobie")
    
  3. Add a widget to wibox and provide a path to your script:

    noobie_exmaple_1{ path = os.getenv("HOME") .. '/.config/awesome/noobie/test.sh' },
    noobie_exmaple_2{ path = os.getenv("HOME") .. '/.config/awesome/noobie/othertest.py' },
    

If your widget is static you can define it in a JSON file and use like this:

noobie_exmaple_1{ path = 'cat ' .. os.getenv("HOME") .. '/.config/awesome/noobie/test.json' },

Troubleshooting

In case of any problem / issue / question: