mirror of
https://codeberg.org/tmayoff/.dotfiles.git
synced 2025-12-06 08:48:34 -05:00
added sketchybar config
This commit is contained in:
parent
87bb07f015
commit
95ebd7af03
38 changed files with 2329 additions and 0 deletions
76
dot_config/sketchybar/items/menus.lua
Normal file
76
dot_config/sketchybar/items/menus.lua
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
local colors = require("colors")
|
||||
local icons = require("icons")
|
||||
local settings = require("settings")
|
||||
|
||||
local menu_watcher = sbar.add("item", {
|
||||
drawing = false,
|
||||
updates = false,
|
||||
})
|
||||
local space_menu_swap = sbar.add("item", {
|
||||
drawing = false,
|
||||
updates = true,
|
||||
})
|
||||
sbar.add("event", "swap_menus_and_spaces")
|
||||
|
||||
local max_items = 15
|
||||
local menu_items = {}
|
||||
for i = 1, max_items, 1 do
|
||||
local menu = sbar.add("item", "menu." .. i, {
|
||||
padding_left = settings.paddings,
|
||||
padding_right = settings.paddings,
|
||||
drawing = false,
|
||||
icon = { drawing = false },
|
||||
label = {
|
||||
font = {
|
||||
style = settings.font.style_map[i == 1 and "Heavy" or "Semibold"]
|
||||
},
|
||||
padding_left = 6,
|
||||
padding_right = 6,
|
||||
},
|
||||
click_script = "$CONFIG_DIR/helpers/menus/bin/menus -s " .. i,
|
||||
})
|
||||
|
||||
menu_items[i] = menu
|
||||
end
|
||||
|
||||
sbar.add("bracket", { '/menu\\..*/' }, {
|
||||
background = { color = colors.bg1 }
|
||||
})
|
||||
|
||||
local menu_padding = sbar.add("item", "menu.padding", {
|
||||
drawing = false,
|
||||
width = 5
|
||||
})
|
||||
|
||||
local function update_menus(env)
|
||||
sbar.exec("$CONFIG_DIR/helpers/menus/bin/menus -l", function(menus)
|
||||
sbar.set('/menu\\..*/', { drawing = false })
|
||||
menu_padding:set({ drawing = true })
|
||||
id = 1
|
||||
for menu in string.gmatch(menus, '[^\r\n]+') do
|
||||
if id < max_items then
|
||||
menu_items[id]:set( { label = menu, drawing = true } )
|
||||
else break end
|
||||
id = id + 1
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
menu_watcher:subscribe("front_app_switched", update_menus)
|
||||
|
||||
space_menu_swap:subscribe("swap_menus_and_spaces", function(env)
|
||||
local drawing = menu_items[1]:query().geometry.drawing == "on"
|
||||
if drawing then
|
||||
menu_watcher:set( { updates = false })
|
||||
sbar.set("/menu\\..*/", { drawing = false })
|
||||
sbar.set("/space\\..*/", { drawing = true })
|
||||
sbar.set("front_app", { drawing = true })
|
||||
else
|
||||
menu_watcher:set( { updates = true })
|
||||
sbar.set("/space\\..*/", { drawing = false })
|
||||
sbar.set("front_app", { drawing = false })
|
||||
update_menus()
|
||||
end
|
||||
end)
|
||||
|
||||
return menu_watcher
|
||||
Loading…
Add table
Add a link
Reference in a new issue