Home

Awesome

Awesome Zen

A collection of polished widgets and utilities for Awesome WM which can be cherry-picked into your config.

Installation

Place bootstrap.lua and other directories into your ~/.config/awesome/ folder. Add the following command to your rc.lua file:

dofile(os.getenv("HOME") .. "/.config/awesome/bootstrap.lua")

Now refer to the individual README for each widget/utility and cherry-pick the ones you want.

Importing bootstrap.lua via the command above also allows you a number of useful commands in your rc.lua:

spawn_once

Spawn a command once and only once, regardless of how many times this function is called, for example to avoid loading multiple instances of compositor or multiple volume icons in dock:

spawn_once("compton")
spawn_once("volumeicon")

spawn_once_name

Same as above but allows you different name and command. For example, say you want to activate numlock on boot up, the command you want to search for in process tree is numlockx (if it's already running, we don't need to do anything), but the actual command to start numlock is numlockx on, you'd add the following to your rc.lua:

spawn_once_name("numlockx", "numlockx on")

load_script

Load script relative to .config/awesome directory, optionally takes a second argument that will notify that script loaded if set to true. Use this to load scripts from this repo or even your own, since it has safety mechanism already built in should script fail or path be incorrect.

load_widget

Load widget into your task bar. You can define the following options:

widget:	name of the widget to Load
zenstate (optional): callback that determines whether the hide the widget, omitting this will put widget in always-on state
notify: generate notification message when widget is loaded (useful for debugging or tracking which widgets loaded)

equals

Deep equality test function since out of the box lua fails to compare tables properly.

if equals(table1, table2) then
    -- tables equal
end