Home

Awesome

Material and Mouse driven theme for AwesomeWM 4.3-git

Original work by PapyElGringo, updated framework (and what this if forked from) by manilarome. PapyElGringo is now working on Material-Shell instead.

Note: This is my personal config, I am willing to accept pull requests that fix bugs or adds features that are missing. As this is pretty much a freetime project by someone who is not familiar with lua, do not expect this to be under super active development by me(as I know little to no lua). This is why I recommend you to fork this project and use that to store your own personal config and just use this as a base.

What is Material-Awesome?

An almost desktop environment made with AwesomeWM mostly following the Material Design guidelines with a performant opiniated mouse/keyboard workflow to increase daily productivity and comfort.

TiledPanelExit screenNotification center

I have an issue, can I get help?

I am pretty much most likely as green as you when it comes to lua, but you can submit an issue in the issue tracker and me or someone else will attempt to help you if we know the answer.<br>

Feel free to @HikariKnight in the issue message too to send me a mail notification!

Known bugs

Installation

Note: the best transition is from gnome or mate to material-awesome as KDE-plasma can break some indicators until plasma is purged entierly.

1) Get all the dependencies

2) Add the awesomewm session file if it was not created

After installing all the dependencies (and compiled and installed awesomewm from source!)<br> Run the below command

ls /usr/share/xsessions

If the above command does not list an awesome.desktop file then copy the below text into /usr/share/xsessions/awesomewm.desktop

[Desktop Entry]
Name=awesome
Comment=Highly configurable framework window manager
TryExec=awesome
Exec=awesome
Type=Application
Icon=/usr/share/pixmaps/awesome.xpm
Keywords=Window manager

3) Clone the configuration

git clone https://github.com/HikariKnight/material-awesome.git ~/.config/awesome

This theme requires the current (as of 23.02.2021) master branch of Awesome, it does not work on Awesome 4.3-stable which is what most distros ship. If you want to install the older config on Awesome4.3-stable or Awesome 4.2 use the specific awesome-4.2 or awesome4.3-stable branch (not in development by me)

Lua5.4: Lua version 5.4 changed how require works, this is a breaking change with Lua 5.3, a special Lua5.4 compatible branch has been made for the transition period

git clone -b lua5.4 https://github.com/HikariKnight/material-awesome.git ~/.config/awesome

Awesome4.3-stable (older version with less features, no longer maintained, browse the branch for install requirements!)

git clone -b awesome4.3-stable https://github.com/HikariKnight/material-awesome.git ~/.config/awesome

Awesome4.2

git clone -b awesome-4.2 https://github.com/PapyElGringo/material-awesome.git ~/.config/awesome

4) Set the themes

Start lxappearance to active the icon theme and GTK theme Note: for cursor theme, edit ~/.icons/default/index.theme and ~/.config/gtk3-0/settings.ini, for the change to also show up in applications run as root, copy the 2 files over to their respective place in /root.

5) Same theme for Qt/KDE applications and GTK applications, and fix missing indicators

First install qt5-style-plugins (or qt5-style-gtk2) and add this to the bottom of your /etc/environment

XDG_CURRENT_DESKTOP=Unity
QT_QPA_PLATFORMTHEME=gtk2

The first variable fixes most indicators (especially electron based ones!), the second tells most Qt and KDE applications (from your distributions repository) to use your gtk2 theme set through lxappearance.

6) Do your basic configuration

Open apps.lua and config.lua and make your changes.<br> I recommend you to make your own fork of this project!

You can search the code to find the file you are looking for using this command if you ever plan to edit the source files directly.

grep -Ri "what you are searching for" ~/.config/awesome/

7) Read the documentation

The documentation live within the source code.

The project is split in functional directories and in each of them there should be a readme where you can get additionnal informations about the contents of the folder.