Widgets for awesome to make it look like Haiku
chore: add 'tag' Make target
feat(lazy): add fold method
fix: actually call the args.buttons function



You can also use your local clone with git send-email.


BeAwesome is a set of various widgets and variables to replicate the look and feel of BeOS and Haiku operating systems.

The documentation can be found here.


This software can be installed via 3 methods:

  1. LuaRocks

    BeAwesome is available in the LuaRocks repository. To install, use the following command:

    luarocks install bawesome
  2. AUR

    Arch Linux users can install BeAwesome via an official build script:

    yay -S awesome-bawesome
  3. Cloning

    Clone the repository and link the src/bawesome directory to your awesome config:

    git clone https://git.sr.ht/~cdrozak/bawesome
    ln -s "$PWD/bawesome/src/bawesome" "$XDG_CONFIG_HOME/awesome/bawesome"

After installing, theme variables are in the bawesome.theme module. They can be accessed via either require 'bawesome.theme' or require('bawesome').theme. To apply all of them in your config, you can insert the following in your theme file:

local gtable = require 'gears.table'
local bawesome = require 'bawesome'

local theme = {}
gtable.crush(theme, bawesome.theme)

-- Your theme variables here

return theme

This way, you can use all BeAwesome variables by default and override them as needed.

If you want to apply Haiku-like window decorations, call bawesome.setup() in your awesome configuration. It needs to be placed after beautiful.init():

local bawesome = require 'bawesome'
local beautiful = require 'beautiful'


#License and acknowledgements

BeAwesome is distributed under Apache 2.0 license, the text of which is included in the LICENSE file. The colors, gradients and button shapes are based on Haiku artwork which itself is distributed under MIT license. See Haiku Inc. website.