local T={} T.accents={ {"orange",0xE95420},{"bark",0x787859},{"sage",0x657B69},{"olive",0x4B8501}, {"viridian",0x03875B},{"prussian",0x308280},{"blue",0x0073E5},{"purple",0x7764D8}, {"magenta",0xB34CB3},{"red",0xDA3450}, } function T.accent(name) for _,a in ipairs(T.accents)do if a[1]==name then return a[2]end end return 0xE95420 end local function darken(c,f) return((c>>16)*f//1)<<16|((((c>>8)&255)*f)//1)<<8|((c&255)*f)//1 end function T.build(dark,accentName) local a=T.accent(accentName) local t={ dark=dark,accent=a,accentFg=0xFFFFFF,accentDark=darken(a,0.78), panel=0x000000,panelFg=0xFFFFFF,panelDim=0x9A9996, danger=0xC01C28,success=0x26A269,warning=0xE5A50A, termBg=0x2C001E,termFg=0xFFFFFF,aubergine=0x2C001E, overview=0x1E1E1E,overviewFg=0xFFFFFF, } if dark then t.bg,t.fg,t.dim=0x242424,0xFFFFFF,0x9A9996 t.view,t.sidebar,t.sep=0x1E1E1E,0x2E2E2E,0x383838 t.header,t.headerFg,t.headerIn=0x303030,0xFFFFFF,0x242424 t.button,t.buttonFg,t.hover=0x454545,0xFFFFFF,0x5E5C64 t.menu,t.menuFg,t.menuHi=0x383838,0xFFFFFF,0x454545 t.entry,t.entryFg=0x1E1E1E,0xFFFFFF t.card,t.rowAlt=0x303030,0x2E2E2E else t.bg,t.fg,t.dim=0xFAFAFA,0x383838,0x77767B t.view,t.sidebar,t.sep=0xFFFFFF,0xEBEBEB,0xDEDDDA t.header,t.headerFg,t.headerIn=0xEBEBEB,0x383838,0xFAFAFA t.button,t.buttonFg,t.hover=0xDEDDDA,0x383838,0xC0BFBC t.menu,t.menuFg,t.menuHi=0xFFFFFF,0x383838,0xEBEBEB t.entry,t.entryFg=0xFFFFFF,0x383838 t.card,t.rowAlt=0xFFFFFF,0xFAFAFA end t.dock=0x000000 t.sel,t.selFg=a,0xFFFFFF t.palette={0x1E1E1E,0x242424,0x2E2E2E,0x303030,0x383838,0x454545,0x5E5C64,0x77767B, 0x9A9996,0xC0BFBC,0xDEDDDA,0xEBEBEB,0xFAFAFA,a,t.accentDark,0x2C001E} return t end return T