Modularized Awesome WM

Refactoring Configuration

About Me 🙋🏻‍♂️!

my photo

Yet, another underachiever 👻.

But hey, I have my own dotfiles repository 🎉.

What is Tiling Window Manager 🤔?

AwesomeWM: Fixed Size Window

Non-overlapping screen real estate.

Why Tiling Window Manager 🤔?

  • Efficient:
    Non-overlapping screen real estate.
  • Scaling:
    With Workspace or Tags.
  • Customizable:
    Most parts can be automated.
  • Keyboard-driven workflow:
    For masochist-desktoper.
  • Lightweight:
    Compared to DE.

Why Awesome WM for Beginner 🤔?

  • Easy to Adapt:
    Both: Float and Tiling.
  • Full Fledged Framework:
    Built in menu, systray, notification.
  • Good Documentation:
    And Example.

The Downside of Awesome WM 🤔?

Yes, The Lua Configuration 👻.

  • Very Long Config:
    Solution: modularization.
  • Steep Learning Curve:
    Require Programming Knowledge.

1: General Structure 🤠

rc.lua should be short!.

AwesomeWM: All Final Directory

Each directory contain many files.

[Modularized Structure]

Zoom Out Refactoring.

Each Lua should also be short!.

AwesomeWM: Basic Directory Structure

2: Main Structure Directory 🤠

All Common Stuff

AwesomeWM: Main Directory

[Main Modules]

Main: Layouts

The layout icon can be seen on top-right statusbar.

AwesomeWM: Custom Layout Icon

Main: Custom Tags Text

AwesomeWM: Custom Tags

Main: Custom Menu

AwesomeWM: Custom Menu

Main: Rules

To tile or not to tile

Not everything should be tiled, e.g. Dialog

[Main Modules]

Main: Signals

Focus, and Unfocus.

[Main Modules]

3: Binding Structure Directory 🤠

Handle Keyboard and Mouse

AwesomeWM: Binding Directory

[Binding Modules]

Binding: Summary (modkey+s)

AwesomeWM: Custom Binding Summary (cropped)

Binding: Custom Fixed Window Size

Resize Window by using Keyboard Only

AwesomeWM: Fixed Size Window

4: Decoration Structure Directory 🤠

Handle The Looks

AwesomeWM: Decoration Directory

Decoration: Titlebar

AwesomeWM: Layout

More about this in Theming.

Decoration: Statusbar

Showing Tags and Task List.

AwesomeWM: Layout

[Statusbar Modules]

More about this in Statusbar Presentation.

What is Next 🤔?

Theming with Inkscape!

[Presentation - Theme]

Questions 🤔?

Don't be shy 🙋🏻‍♂️!

The End


Thank You for Your Time.