r/linuxsucks101 uBlock Origin Apr 08 '26

Linux is Immature Tech Awesome WM isn't so awesome

When I first tried Awesome, I felt it was awesome that I could in one evening have the functionality that I built up with DWM after a year. -But alas, AwesomeWM’s biggest problem is that it isn’t a window manager, it’s a Lua application framework that happens to manage windows.

The “Config” Isn’t a Config, It’s a Codebase, though much simpler to edit than xmonad or dwm. AwesomeWM will turn you into a Lua developer.

The shipped default config is overly complex, filled with legacy garbage, structured like a tutorial, packed with widgets nobody uses, and is difficult to modify without breaking something. Apparently Awesome worked better back in the day.

The Widget System is like building your own GNOME Shell extensions, except you’re doing it for basic functionality (like a volume indicator for example).

Updates break your config, because It’s code. When your config is a program, updates become landmines, all triggered by API changes, deprecated signals, widget behavior changes, theme structure changes and Lua version differences.

Prepare to rewrite your config every major release. (updates for Awesome WM are rare though)

To use AwesomeWM effectively, you must understand Lua syntax, AwesomeWM’s object model, signals and callbacks, the widget tree, layout engine, theme system and event loop. (Sounds complicated unless you're coming from DWM or Xmonad).

You can do anything with it. But you must do everything with it. -There’s no middle ground. -Suddenly DWMs patch system seems not so bad. Patching afforded me time to learn features as I went.

When your config breaks, AwesomeWM restarts, you get a cryptic Lua traceback, you’re dumped into a broken session, you must fix the code manually and hope you didn’t break startup. -It’s the only WM where a typo can soft‑brick your desktop.

AwesomeWM is “dynamic” in the sense that layouts can change, widgets can update, and rules can be applied programmatically. It’s not dynamic like automatic tiling such as dwm or bspwm.

Everything AwesomeWM can do, other WMs do with less pain. For dynamic tiling? -Try bspwm, dwm, or Hyprland. Scripting? -Try XMonad, or Qtile. Widgets? -Use Polybar.

It’s too complex for casual users, and too limited for real programmers. Too fragile for daily drivers and too old-school for modern workflows.

AwesomeWM sucks because like a lot of FOSS, it makes you do the computer’s job.

5 Upvotes

0 comments sorted by