Theme and widgets for awesome to make it look like Haiku

#1 Rewrite the decoration/frame code

~cdrozak filed ticket on bawesome todo

1 year, 11 months ago

59bc0e5 chore: add 'tag' Make target

1 year, 11 months ago


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.