So I’ve always liked the idea of using just simple window manager and controlling my desktop mostly using keyboard shortcuts and keybindings. So far only WM I’ve had in daily use is i3, i3-gaps to be precise.
I’ve noticed some members here have had some interest to try AwesomeWM, so I decided to document my journey with it. This thread is intended to be semi-guide, semi-blog of me figuring out stuff and sharing the information here. That doesn’t mean others are not welcome here. If you want to test out awesome or are already a seasoned guru with it feel free to drop in and share your experiences and knowledge. I created separate #awesomewm tag that others can use for their own threads if someone feels like it.
I’m going to make some comparisons to i3 along the way, like “this is how stuff worked in i3, and this is how I figured it out in Awesome”.
Here’s some reasons why I wanted to try AwesomeWM
-
Lua, and extensibility. Main configuration and themes use configuration files written in Lua programming language, meaning Awesome is highly extendable and customizable. I already know my skills or lack of imagination will be the limitation for me to go all out with customization, but hey, at least I’m going to have options.
Also the fact that the configuration uses Lua files will force me to dip my toes into re-learning at least a little bit of programing.
-
Curiosity. I’m just interested at trying out new stuff and Awesome as a concept feels interesting.
-
Availability in official software repositories. Problem with i3-gaps is there’s not many distributions that had official repository for i3-gaps. However awesome is quite popular WM and is pre-packaged in many distributions: https://awesomewm.org/download/
And I also just wanted to challenge myself. I’m in general quite bad at reading manuals and documentation, so with Awesome I try to make clear attempt at following official documentation when configuring things. And I have to emphasize word “attempt”, because this is me reading documentation and manuals:
Inb4 this is the reaction when someone is reading my wall of text
There’s probably many other good reasons to give Awesome a try, but these were my main reasons.
Once you have managed to install Awesome I highly recommend that you read trough My first Awesome setup, it should give you the basic understanding of how Awesome works.
Oh, and remember shortcut Super + s. This will show you the cheat sheet for key combinations for Awesome, so you don’t need to check the documentation all the time.
How to control screen layout in Awesome?
With i3 I remember vaguely you were able to input the xrandr information directly to your i3 config file and i3 handled the rest. It’s been few years since I last time tinkered with i3 so I might remember this completely wrong.
With Awesome I simply don’t manage screen layout. I let X do it’s work. I’m using Nvidia GPU so the solution was to enable full composition pipeline to both screens and set the displays as I wanted in nvidia control panel, and then saved the configuration to xorg.config
.
How to set different wallpapers to each screen?
I’m currently using multi-monitor setup, one display being vertical position, and getting different wallpapers to each monitor was my first problem that I had to figure out. There’s probably multiple ways to achieve this, but here’s my current solution. Credit to this goes 100% to @freqlabs since this method is direct ripoff from him.
-- Set different wallpaper for each monitor
wp_prefix = "/home/even/Pictures/awesomebg/"
gears.wallpaper.maximized(wp_prefix .. "2.jpg", 1)
gears.wallpaper.maximized(wp_prefix .. "w4.jpg", 2)
And this is the current end result at the moment.
Yes, waifu papes are a must.
I will share stuff and configs that I find in this thread, and probably ask for help if I get stuck.
Again please note that I don’t plan to treat this as personal awesomewm blog (though it might end up being one eventually), everyone interested are free to come and jump in testing and configuring awesome and sharing opinions and tips.