I finally locked myself in my room for hours, doing Awesome WM refactoring.
After a while, the single rc.lua, has been modularized into chunk parts.
Nomore copycat kiddies, I have to learn lua,
and I have to understand every line of code, to configure this WM properly.
The looks is very similar to my previous configuration,
but the lua code inside has been altered heavily.
To make a modular code, I have to make change parts
from bunch of function and variables, into object and its properties.
In order to make a modularized theme, I also have to clean up the old theme.
Which Parts ?
The original default config only takes one file
Your custom awesome is in ~/.config/awesome/rc.lua.
You can check yours by issuing tree command.
Common config is usually have two main parts
rc.lua (text only)
Theme directory (text and image resources)
There can be as many theme as needed.
I start this project by split some code in main rc.lua to main folder.
After a while, I begin to realize,
there are also as many statusbar (wibox) setting as needed.
And I can also make it switchable.
Now we can split the statusbar/titlebar directory from the main rc.lua.
The main rc.lua itself contain one very long parts
maintaining mouse binding and keys binding.
Let’s put them in binding directory.
The rest splitted into few files.
Let’s put them in main directory.
Finally, there should be a place for third party code
other than result of this refactoring process.
Modules directories hold this stuff.
You can find the source in copycat-killer repository.
Real World Result
You can see the sample details below.
Off course you can make entirely different customization.
Main Awesome Directory
The theme Directory
I named the theme clone, because …
I shamefully grabbed them from many resources.
The Wibox Statusbar Directory
Put your creativity here to make eye candy statusbar.