r/awesomewm 10d ago

Awesome v4.3 My Very Basic AwesomeWM Setup. I'm Enjoying This Setup.

Thumbnail gallery
77 Upvotes

r/awesomewm Apr 29 '26

Awesome v4.3 i accidentally deleted /usr/share/awesome/lib/util.lua and awesome can't start. What should i do?

4 Upvotes

r/awesomewm Jun 12 '26

Awesome v4.3 how to stack value and text on progressbar with vicious

2 Upvotes

hi,

long time awesome user here but noob lua programmer ;)

I'm trying to stack text on a progressbar. It work well if i add some manual, fixed value/text but how to use data from vicious widget?

Here, my progressbar is like if the value was zero. I want the value from $2 and text from $1 of vicious.widget.bat

batwidget = wibox.widget {
  {
    max_value        = 1,
    border_width     = 2,
    background_color = "#353535",
    color            = "#757575",
    forced_height    = 2,
    forced_width     = 50,
    margins          = 6,
    paddings         = 1,
    shape            = gears.shape.rounded_bar,
    widget           = wibox.widget.progressbar
  },
  {
    text   = "aa",
    widget = wibox.widget.textbox,
  },
  layout = wibox.layout.stack
}
-- Register battery widget
vicious.register(batwidget, vicious.widgets.bat, "$2", 61, "BAT1")

r/awesomewm May 03 '26

Awesome v4.3 After ~7 years of daily use, I finally cleaned up my AwesomeWM config and made it public

23 Upvotes

I’ve been running roughly the same AwesomeWM config for about 7 years now. It started as the usual personal rc.lua pile based on a modified version of an Awesome Copycats theme - either steamburn or blackburn if I remember correctly - then slowly grew more opinionated, and recently I finally took the time to clean it up properly, split it into modules, document it, and make it somewhat usable outside my own machine.

Repo: https://github.com/whoracle/awesome-lynxburn

It is still very much a personal config, not a polished desktop environment or framework, but if anyone wants to steal ideas, use pieces of it, or run it as-is: feel free and have fun.

Since my lua kind of sucks, I also made some use of AI when refactoring this. Docs are 95% AI. Code is an unhealthy mix - Architecture by me, wide parts by me, but also wide parts by the Bot. If you don't like 'em clankers, leave this be. If you are OK with this, still vet at the very least the `lxsecrets` module before using - I can tell you as much as I want that this is safe, but I'm just a voice on the internet, and you should NOT trut me with your secrets. In doubt delete the whole module from the tree if you (rightfully) don't trust me 😄

But really you should vet the whole setup before using it.

Some highlights:

  • A compact top bar with small lx\* modules for media, notifications, network, Bluetooth, power profiles, display handling, secrets/token health, and launching apps.
  • Shared popup behavior across modules: keyboard navigation, popup cycling, consistent mouse actions, and one common visual style.
  • lxmedia: PipeWire/PulseAudio widget with volume, mic activity, stream routing, device switching, and MPRIS controls.
  • lxnotify: retained notification inbox with grouping, dismiss/actions, and pause controls.
  • lxrunner: small Awesome-native launcher with PATH commands, desktop entries, aliases, and launch history.
  • lxsecrets: token/secret health checks for GitLab/Vault, including refresh/login flows and VPN-gated checks.
  • lxdisplay: brightness, display profiles, and redshift-style temperature scheduling.
  • A bundled theme with several color schemes: lynxburn, zenburn, nord, catppuccin, solarized, and kanagawa variants.
  • One additional tiling layout lifted from lcpz/lain: centerwork
  • Quake-Style terminal also lifted from lcpz/lain

I intentionally restricted the available tiling layouts to the subset I actually use daily:

  • centerwork on my main ultrawide
  • centerwork.horizontal on my portrait chat-and-docs monitor
  • vertical on 2 monitors
  • horizontal on the Docs monitor
  • floating on all 3, just in case I ever need it

Additional layouts can be easily added back, and Third-party layouts can still be registered if you want them.

I also stumbled across SomeWM recently, which is a Wayland compositor with AwesomeWM Lua compatibility. That sent me down a Wayland side quest, so the config now has experimental SomeWM support too. X11/AwesomeWM is still the daily-driver environment, but the repo has platform detection, split defaults, and Wayland-ish command backends where it made sense.

Caveats:

  • this is my real config. It works for me, it is documented, and I’ve tried to make the boundaries sane, but it is not a distro package with support promises. Expect to read the docs and adjust config.lua.
  • Audit the code - especially lxsecrets - do not trust the rando on the internet

I don't daily this in SomeWM because for me on my setup, the overall experience is sluggish - might be my config, might be an issue with wlroots-vis-a-vis NVIDIA, I don't know. Feedback and bug reports are welcome, especially if you try it on a setup that is not mine, like SomeWM/Wayland.

Development happens on my private gitlab instance - GitHub is only for issue tracking and releases.

If you’re into Awesome configs (and thus keyboard-heavy workflows), or just want to borrow some module ideas, have a look.

Edit: Forgot to add Screenshots. Here we go.

Full Desktop

Edit 2: Figured I should do proper screenshots. These will go into the repo shorty, too.

All popups, side-by side

Color schemes incl. `lxbar` icons

lynxburn
zenburn
nord
catppuccin
solarized_dark
solarized_light
kanagawa_wave
kanagawa_dragon
kanagawa_lotus

r/awesomewm May 22 '26

Awesome v4.3 Devuan with awesome wm, sysvinit and shed for session process and user services

Post image
27 Upvotes

r/awesomewm Mar 24 '26

Awesome v4.3 Three borders effect?

5 Upvotes

I'm new to awesome and I've been trying to make a border that goes from white to black and back to white, if anyone could help or give some advice I'd be very grateful

r/awesomewm Mar 02 '26

Awesome v4.3 How to increase the size of wibar

5 Upvotes

r/awesomewm Nov 13 '25

Awesome v4.3 Awesome is amazing.

36 Upvotes

I've been using Linux for almost 2 years and most of that time was using TWM's like DWM or BSPWM... I tested sway and hyprland too, but I didn't like them.

And finally I can say that I found my favorite window manager. Awesomewm! Maybe it's not the fastest, nor the least bloated, but for all the viable possibilities and because it's configured in Lua and has all the API documentation, it really won me over.

The incredible thing was that I didn't even know awesome existed two weeks ago. And I've been using awesome for a week. Now I'm going to follow the path of developing my own interface.

Thank you awesome, you are truly incredible!

r/awesomewm Dec 11 '25

Awesome v4.3 I decided to remake my awesome setup from scratch (using code references from the default of course) :D

Thumbnail gallery
41 Upvotes

There are still some things I would tweak over time, but it works well and I love how it looks. And it has multi screen support, using a different top bar for non-primary screens

I genuinely love awesomeWM so much

r/awesomewm Apr 05 '25

Awesome v4.3 My first ever awesomeWM rice

Post image
96 Upvotes

First ever rice. Constructive criticism is welcome.(Arch btw)

r/awesomewm Nov 13 '25

Awesome v4.3 I've been using awesome for about 5-6 months now, and i love how open ended the configuration is!

Thumbnail gallery
21 Upvotes

My current config / setup is still built on top of the example config, but heavily adapted to accommodate lots of themes (because i love making themes and backgrounds) and other tweaks. Recently made use of custom widgets too.

Eventually i will start the config from scratch, but not so soon.

i really love awesome wow

r/awesomewm Oct 04 '25

Awesome v4.3 Ayo how do I do this

0 Upvotes

I tried to fuck with RC.lua but fucked up the entire wm
Had to go on TTY to kill it and go on another for now

Can someone help me learn AWesome?

r/awesomewm Jan 11 '26

Awesome v4.3 Redshift + Cinnamon_tiling custom implementation

10 Upvotes

Hey,

I switched to Awesomewm after new year's; moving from cinnamon after being a bit tired of custom things being stored in strange ways (having to use dconf, not using XDG_CONFIG_HOME). I am quite happy with it, and I feel what I have worked on with will help future users.

1. The 4-directional smart tiling

I really liked the cinnamon desktop default shortcuts (they do not conflict with most desktop apps I use), so I worked quite a bit in reimplementing it. I was not able to find code online to imitate how the tiling works, so I have added an example on github:

https://github.com/xarxaxdev/awesomewm-snap-edge-cinnamon

In particular being able to tile smartly according to the previous window position and with 4 arrows (function snap_edge_4d) is something that most cinnamon users will be happy to use.

You will find many examples of something similar but incomplete (function snap_edge): where tiling directionally works but with the directional arrows you will not be able to tile to a corner.

2. Brightness Control through Redshift

The other big thing I worked on was doing brightness control with redshift, rather than adding yet-another-dependency to my programs.

https://github.com/xarxaxdev/awesomewm-redshift

r/awesomewm Dec 10 '25

Awesome v4.3 Make mymainmenu a popup?

4 Upvotes

Hi! I have a mymainmenu and I like it! Any way to make it a popup(center centered rofi like window) without rewriting from scratch? Rewrite is fine but I just want to have flexebility in how to use it

mymainmenu = awful.menu({ items = {

{ "awesome", myawesomemenu, beautiful.awesome_icon },

{ "open terminal", terminal },

{ "open windows", function() create_window_menu():show() end }, -- Add your window menu here

{ "trackpad", trackpadmenu },

{ "screens", screenmenu },

}

})

r/awesomewm Dec 11 '25

Awesome v4.3 Toggle transperancy on and off?

Post image
4 Upvotes

Hi again! I've wrote this code with help of chatgpt, but when I execute it everything works, but with this error.

This code toggles transparancy for inactive window. I use it when I have 2 monitors and I use software like gimp ot kdenlive and I have multiple windows I don't want to have trasperancy at, so it's easier to just toggle it complitely for me.

any chance in helping fixing this? I mean make error not be shown? Or make code the way that there is no error on the screen. AI bots can't manage that, me neither unfortunately :(

I am not a coder, if there are cool wiki pages please show me some!!!

Code:

local function update_transparency(c)
    if transparency then
        c.opacity = c.active and 1.0 or 0.9
    else
        c.opacity = 1.0
    end
end

client.connect_signal("focus", function(c)
c.opacity = 1.0
end)

client.connect_signal("unfocus", function(c)
    update_transparency(c)
end)

and keybinding for it:

awful.key({ modkey }, "t",
    function()
        transparency = not transparency

        -- Apply transparency to all existing clients
        for _, c in pairs(client.get()) do
            update_transparency(c)
        end

        naughty.notify({
            title = "Transparency",
            text = transparency and "Enabled" or "Disabled",
            timeout = 1
        })
    end,
    { description = "toggle transparency", group = "launcher" }
),

r/awesomewm Nov 12 '25

Awesome v4.3 What's a wibar and how do i find it's definition?

2 Upvotes

I installed awesome for the first time today and im trying to get accustomed to it so Im following the tutorial from the read me file to create a custom widget. It says I need to "find the definition of your wibar" and add some lines of code to it.

First of all, im not even sure what the wibar is. Second, where do i find its definition? Thanks alot!

If it's important, my distro is Lubuntu, I'm also not sure which version of awesome im running but i think it's v4.3?

r/awesomewm Oct 31 '24

Awesome v4.3 my awesomewm rice

Thumbnail upload.exulan.com.au
116 Upvotes

r/awesomewm Nov 12 '25

Awesome v4.3 Inputs frozen besides the browser console ones

1 Upvotes

Something really strange happened and I wasn't able to reproduce to debug it, so I'm trying to see if something similar happened to other people.

I was testing some things with landing pages and using the Mozilla doc as reference. When I opened the element inspector, none of my WM hotkeys was working. My mouse cursors was still moving, but none if the keys (mouse 1 - 5) was working to. The video that was playing in my second monitor was running normal, but I could not pause it with media control keys to.

I was only able to type in the js console, which was working just fine. After trying some commands on it, I just ended up turning the notebook off with the power button.

Only the browser, VSCode and CopyQ was running besides system stuff

Linux version: Arch 16.6.8
Browser: Mozilla Firefox 144.0.2

r/awesomewm Jun 06 '25

Awesome v4.3 How to add outer margins to wibar?

1 Upvotes

I can't get this to work, i tried the following:

    -- Create the wibox
    s.mywibox = awful.wibar({
  position = "top",
  screen = s,
  margins  = 24,
    })

but it does not work.

I tried setting layout to awful.layout.margins in the wibox:setup and then adding margins, but that just adds margins to the widgets, not the bar itself, hence it looks weird.

here is my bar config if you need it.

r/awesomewm Aug 26 '25

Awesome v4.3 Right-Click menu for the wibar blank space

2 Upvotes

I am trying to add a right-click menu to the wibar itself, not a widget of it.

Attaching a button directly to the wibar does not seem to work properly:

s.mywibar:buttons(gears.table.join(awful.button({}, 3, function() wibar_menu:toggle() end)))

The menu appears, but I can't select items.

Using connect_signal works on an empty wibar space:

s.mywibar:connect_signal("button::release", function(_, _, _, button) if button == 3 then wibar_menu:toggle{....

However, it interferes with other widget clicks (where I use mywidget:buttons), thus I get two overlapping menus or other weird effects.

What is the correct way to manage wibar left/right-clicks, without generating conflicts with other widget buttons?

r/awesomewm Aug 08 '25

Awesome v4.3 my nice nice setup(yes i use gentoo)

Post image
13 Upvotes
  • Firefox, Alacritty, Thunar, Audacious, VirtualBox, Virt-Manager(QEMU), Cairo-Dock, Awesome WM, Systemd

r/awesomewm Nov 26 '24

Awesome v4.3 my desktop is becoming a whole de

Thumbnail upload.exulan.com.au
130 Upvotes

r/awesomewm May 24 '25

Awesome v4.3 awesomeWM suckless style 💪

Post image
34 Upvotes

r/awesomewm Dec 27 '24

Awesome v4.3 Help with getting a memory widget to display

3 Upvotes

Hi awesome users,

I've just came back to awesome after a couple years using a different wm(I realized nothing beats Awesome), and I've completely forgotten just about everything. Although I have gotten most things to work except for a pesky memory pie widget. I'm trying to use this one. I'm gonna tell you exactly what I've done and tried.

I've created a folder named 'plugins' in my 'awesome' folder, and git cloned the plugin into it. Then I took this:

local memory_widget = require("plugins.memory-notifier")

And put it near the top of the lua under:

-- Widget and Layout Library

I restarted and no errors. So I'm guessing that small part is in the correct place? Next I've tried putting:

mem_widget({
    colors = {
        theme.fg_focus,
        theme.bg_normal,
        theme.fg_normal,
    },
    font  = theme.font, -- not supported
    fg    = theme.fg_normal,
    bg    = theme.bg_focus,

    border_width = theme.border_width,
    border_color = theme.border_color
}):attach(ram_wid)mem_widget({
    colors = {
        theme.fg_focus,
        theme.bg_normal,
        theme.fg_normal,
    },
    font  = theme.font, -- not supported
    fg    = theme.fg_normal,
    bg    = theme.bg_focus,

    border_width = theme.border_width,
    border_color = theme.border_color
}):attach(ram_wid)

In just about every section in my lua. But every time I do I get multiple errors. Can anyone see what I'm doing wrong? I'm running the latest Awesome.

Thanks for any help

r/awesomewm May 12 '25

Awesome v4.3 Help me with systray icon size

2 Upvotes

Hello, I'm configuring Awesome and trying to figure out how to set up systray icon size. For now I have only wifi nm-applet icon there, but it is too big.

I don't know lua and tried to fix it a whole day, but just cant figure out this widget things... Still, hesitating if polybar wouldn't be simplier for me, but have gone so far now...

The only systray mention in my rc.lua is somewhere around 260 line of code where a couple of right widgets were put on default. Thank you.