Awesome WM and Bling tab bar settings problem

I’m using Awesome and I already have the tabbed module from Bling set up and working. But no matter what I do, I can’t seem to change the styles of the tabs. I tried a VM with a completely different distro, and I still ran into the same problem. the tabs are always black and white, with the selected tab inverted. I can’t add the indicators. I can’t change anything about them anywhere.

I have tried setting it in theme.lua
I have tried setting it in rc.lua

Even when my attempts result in no errors, it just doesn’t work. The tabs don’t change color like they should. I’ve been trying to fix it for so many hours, but nothing I try works. Anyone know what’s happening or how to fix it?

Sorry to double post, but I don’t think I can edit it anymore. Here’s an update. I finally figured out the colors. But the indicators give weird errors when I try to implement them.

titlebar_indicator.lua:110: attempt to call a nil value (method 'add_button')

Hi @grayfox ,
Good question and thank you for the journey.

I inserted into

~/.config/awesome/themes/eos-default/theme.lua

after walpaper definition


-- For tabbed only
theme.tabbed_spawn_in_tab = false  -- whether a new client should spawn into the focused tabbing container

-- For tabbar in general
theme.tabbar_ontop  = false
theme.tabbar_radius = 0                -- border radius of the tabbar
theme.tabbar_style = "modern"         -- style of the tabbar ("default", "boxes" or "modern")
theme.tabbar_font = "Sans 11"          -- font of the tabbar
theme.tabbar_size = 40                 -- size of the tabbar
theme.tabbar_position = "bottom"        -- position of the tabbar
theme.tabbar_bg_normal = "#000000"     -- background color of the focused client on the tabbar
theme.tabbar_fg_normal = "#ffffff"     -- foreground color of the focused client on the tabbar
--theme.tabbar_bg_focus  = "#1A2026"     -- background color of unfocused clients on the tabbar
theme.tabbar_bg_focus  = "#54085a"     -- background color of unfocused clients on the tabbar
theme.tabbar_fg_focus  = "#b1cb04"     -- foreground color of unfocused clients on the tabbar
theme.tabbar_bg_focus_inactive = nil   -- background color of the focused client on the tabbar when inactive
theme.tabbar_fg_focus_inactive = nil   -- foreground color of the focused client on the tabbar when inactive
theme.tabbar_bg_normal_inactive = nil  -- background color of unfocused clients on the tabbar when inactive
theme.tabbar_fg_normal_inactive = nil  -- foreground color of unfocused clients on the tabbar when inactive
theme.tabbar_disable = false           -- disable the tab bar entirely

-- the following variables are currently only for the "modern" tabbar style
theme.tabbar_color_close = "#f9929b" -- chnges the color of the close button
theme.tabbar_color_min   = "#fbdf90" -- chnges the color of the minimize button
theme.tabbar_color_float = "#ccaced" -- chnges the color of the float button

For those who are not familiar with how to pick/drop/iterate clients in/to a stack like set
in rc.lua (meld refused with register error, so diff made these <)

<     awful.key({ ctrl, altkey }, "p", function()
<         local c = client.focus
<         if c then
<             bling.module.tabbed.pick()
<         end
<     end, {description = "picks a client with your cursor to add to the tabbing group", group = "client"}),
<
<     awful.key({ ctrl, altkey }, "o", function()
<         local c = client.focus
<         if c then
<             bling.module.tabbed.pop()
<         end
<     end, {description = "removes the focused client from the tabbing group", group = "client"}),
<
<     awful.key({ ctrl, altkey }, "i", function()
<         local c = client.focus
<         if c then
<             bling.module.tabbed.iter()
<         end
<     end, {description = "iterates through the currently focused tabbing group", group = "client"}),
1 Like

Thank you for the reply! My current problem is with the title bar indicators. (I fixed the tab colors/style) I’ll paste the final many lines of my rc.lua (line 694 to end of the file)

bling.widget.tabbed_misc.titlebar_indicator(client, {
    layout = wibox.layout.fixed.horizontal,
    layout_spacing = dpi(5), -- Set spacing in between items
    icon_size = dpi(24), -- Set icon size
    icon_margin = 0, -- Set icon margin
    fg_color = "#cccccc", -- Normal color for text
    fg_color_focus = "#ffffff", -- Color for focused text
    bg_color_focus = "#282828", -- Color for the focused items
    bg_color = "#1d2021", -- Color for normal / unfocused items
    icon_shape = gears.shape.circle -- Set icon shape,
})


-- Add a titlebar if titlebars_enabled is set to true in the rules.
client.connect_signal("request::titlebars", function(c)
    -- buttons for the titlebar
    local buttons = gears.table.join(
        awful.button({ }, 1, function()
            c:emit_signal("request::activate", "titlebar", {raise = true})
            awful.mouse.client.move(c)
        end),
        awful.button({ }, 3, function()
            c:emit_signal("request::activate", "titlebar", {raise = true})
            awful.mouse.client.resize(c)
        end)
    )

    awful.titlebar(c, { size = 20 }) : setup {
        { -- Left
            bling.widget.tabbed_misc.titlebar_indicator(c),
            buttons = buttons,
		
            layout  = wibox.layout.fixed.horizontal
        },
        { -- Middle
            { -- Title
                align  = "center",
                widget = awful.titlebar.widget.titlewidget(c)
            },
            buttons = buttons,
            layout  = wibox.layout.flex.horizontal
        },
        { -- Right
            awful.titlebar.widget.floatingbutton (c),
            awful.titlebar.widget.maximizedbutton(c),
            awful.titlebar.widget.stickybutton   (c),
            awful.titlebar.widget.ontopbutton    (c),
            awful.titlebar.widget.closebutton    (c),
            layout = wibox.layout.fixed.horizontal()
        },
        layout = wibox.layout.align.horizontal
    }
end)

-- Enable sloppy focus, so that focus follows mouse.
-- client.connect_signal("mouse::enter", function(c)
--    c:emit_signal("request::activate", "mouse_enter", {raise = false})
-- end)

client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)


but it gives me that error…

titlebar_indicator.lua:110: attempt to call a nil value (method 'add_button')

I also tried the following for the titlebar, but got the same error

awful.titlebar(c).widget = {
        { -- Left
            bling.widget.tabbed_misc.titlebar_indicator(c),
            layout  = wibox.layout.fixed.horizontal
        },
        { -- Middle
            { -- Title
                align  = "center",
                widget = awful.titlebar.widget.titlewidget(c)
            },
            buttons = buttons,
            layout  = wibox.layout.flex.horizontal
        },
        { -- Right
            awful.titlebar.widget.maximizedbutton(c),
            awful.titlebar.widget.closebutton    (c),
            layout = wibox.layout.fixed.horizontal
        },
        layout = wibox.layout.align.horizontal
    }

@grayfox ,
I’m not a coder but like puzzles. Look into
~/.config/awesome/bling/widget/tabbar/pure.lua
as it contains titlebar. I changed tabbar_style to pure in theme.lua:
pure_as_the_4th_style

1 Like

Thank you, that’s a pretty good and easy solution! I recently switched to Awesome after using i3wm for a few years. It’s really hard to say which one I like better.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.