Unexpected flickering/shadow/border?
Author: lalityalamanchiliCreated Jul 13, 2026Updated Jul 13, 2026
https://github.com/user-attachments/assets/578c1973-b89f-4f78-81ca-6a0542d743b2
local colors = require("colors")
sbar.add("item", "apple.logo", {
position = "left",
icon = {
string = "",
color = colors.text,
font = {
size = 18,
},
y_offset = 2,
},
label = {
drawing = false,
},
padding_left = 8,
padding_right = 10,
})
local spaces = {}
local space_names = {}
sbar.exec("aerospace list-workspaces --all", function(space_list)
for name in space_list:gmatch("[^\r\n]+") do
local item_name = "space." .. name
local left_spacer = sbar.add("item", "left_spacer", {
position = "left",
width = 4,
icon = {
drawing = false,
},
label = {
drawing = false,
},
background = {
drawing = false,
},
})
local space = sbar.add("item", item_name, {
position = "left",
icon = {
drawing = false,
},
label = {
drawing = false,
},
width = 12,
background = {
drawing = true,
color = colors.grey,
height = 12,
corner_radius = 999,
},
})
spaces[name] = space
table.insert(space_names, item_name)
-- Don't add a gap after workspace 6
if name ~= "6" then
local spacer_name = item_name .. ".gap"
sbar.add("item", spacer_name, {
position = "left",
width = 8,
icon = {
drawing = false,
},
label = {
drawing = false,
},
background = {
drawing = false,
},
})
table.insert(space_names, spacer_name)
else
local spacer_name = item_name .. ".gap"
sbar.add("item", spacer_name, {
position = "left",
width = 4,
icon = {
drawing = false,
},
label = {
drawing = false,
},
background = {
drawing = false,
},
})
table.insert(space_names, spacer_name)
end
space:subscribe("aerospace_workspace_changed", function(env)
local selected = env.FOCUSED_WORKSPACE == name
sbar.animate("tanh", 12, function()
space:set({
width = selected and 28 or 12,
background = {
color = selected and colors.text or colors.grey,
},
})
end)
end)
end
table.insert(space_names, 1, "left_spacer")
sbar.add("bracket", space_names, {
position = "left",
background = {
color = colors.with_alpha(0xff000000, 0.2),
height = 24,
corner_radius = 999,
},
})
local front_app = sbar.add("item", "front_app", {
position = "left",
icon = {
drawing = false,
},
label = {
string = "",
color = colors.text,
font = {
size = 18,
},
},
y_offset = 1,
padding_left = 16,
padding_right = 8,
})
local function update_front_app()
sbar.exec(
[[osascript -e 'tell application "System Events" to get name of first application process whose frontmost is true']],
function(app)
front_app:set({
label = {
string = app:gsub("%s+$", ""),
},
})
end
)
end
update_front_app()
front_app:subscribe("front_app_switched", function()
update_front_app()
end)
front_app:subscribe("forced", function()
update_front_app()
end)
end)Source: FelixKratz/SketchyBar