Actually, you're original is very close to what is shown on the kgPanels example script page. All it says is "OnLoad", so I'm guessing that's where it would all go.
Code:
local _, class = UnitClass("player");
if class == "WARRIOR" then
self.bg:SetVertexColor(0.95, 0.23, 0.23, self.bg:GetAlpha())
elseif class == "PRIEST" then
self.bg:SetVertexColor(1, 0.96, 0.98, self.bg:GetAlpha())
elseif class == "MAGE" then
self.bg:SetVertexColor(0.00, 1, 1, self.bg:GetAlpha())
elseif class == "DRUID" then
self.bg:SetVertexColor(1, 0.49, 0.04, self.bg:GetAlpha())
elseif class == "PALADIN" then
self.bg:SetVertexColor(0.92, 0.22, 0.46, self.bg:GetAlpha())
elseif class == "HUNTER" then
self.bg:SetVertexColor(0.33, 0.86, 0.00, self.bg:GetAlpha())
elseif class == "ROGUE" then
self.bg:SetVertexColor(1, 0.94, 0.16, self.bg:GetAlpha())
elseif class == "SHAMAN" then
self.bg:SetVertexColor(0.13, 0.42, 1, self.bg:GetAlpha())
elseif class == "WARLOCK" then
self.bg:SetVertexColor(0.36, 0.18, 1, self.bg:GetAlpha())
end
Haven't tried it, so don't know if it works. The example is posted
here.