initalize
This commit is contained in:
71
sketchybar/items/menu_spaces_toggle.lua
Normal file
71
sketchybar/items/menu_spaces_toggle.lua
Normal file
@@ -0,0 +1,71 @@
|
||||
local constants = require("constants")
|
||||
local settings = require("config.settings")
|
||||
|
||||
sbar.add("event", constants.events.SWAP_MENU_AND_SPACES)
|
||||
|
||||
local function switchToggle(menuToggle)
|
||||
local isShowingMenu = menuToggle:query().icon.value == settings.icons.text.switch.on
|
||||
|
||||
menuToggle:set({
|
||||
icon = isShowingMenu and settings.icons.text.switch.off or settings.icons.text.switch.on,
|
||||
label = isShowingMenu and "Menus" or "Spaces",
|
||||
})
|
||||
|
||||
sbar.trigger(constants.events.SWAP_MENU_AND_SPACES, { isShowingMenu = isShowingMenu })
|
||||
end
|
||||
|
||||
local function addToggle()
|
||||
local menuToggle = sbar.add("item", constants.items.MENU_TOGGLE, {
|
||||
icon = {
|
||||
string = settings.icons.text.switch.on
|
||||
},
|
||||
label = {
|
||||
width = 0,
|
||||
color = settings.colors.bg1,
|
||||
string = "Spaces",
|
||||
},
|
||||
background = {
|
||||
color = settings.colors.with_alpha(settings.colors.purple, 0.0),
|
||||
}
|
||||
})
|
||||
|
||||
sbar.add("item", constants.items.MENU_TOGGLE .. ".padding", {
|
||||
width = settings.dimens.padding.label
|
||||
})
|
||||
|
||||
menuToggle:subscribe("mouse.entered", function(env)
|
||||
sbar.animate("tanh", 30, function()
|
||||
menuToggle:set({
|
||||
background = {
|
||||
color = { alpha = 1.0 },
|
||||
border_color = { alpha = 0.5 },
|
||||
},
|
||||
icon = { color = settings.colors.bg1 },
|
||||
label = { width = "dynamic" }
|
||||
})
|
||||
end)
|
||||
end)
|
||||
|
||||
menuToggle:subscribe("mouse.exited", function(env)
|
||||
sbar.animate("tanh", 30, function()
|
||||
menuToggle:set({
|
||||
background = {
|
||||
color = { alpha = 0.0 },
|
||||
border_color = { alpha = 0.0 },
|
||||
},
|
||||
icon = { color = settings.colors.red },
|
||||
label = { width = 0 }
|
||||
})
|
||||
end)
|
||||
end)
|
||||
|
||||
menuToggle:subscribe("mouse.clicked", function(env)
|
||||
switchToggle(menuToggle)
|
||||
end)
|
||||
|
||||
menuToggle:subscribe(constants.events.AEROSPACE_SWITCH, function(env)
|
||||
switchToggle(menuToggle)
|
||||
end)
|
||||
end
|
||||
|
||||
addToggle()
|
Reference in New Issue
Block a user