diff --git a/api/ui-widgets.lua b/api/ui-widgets.lua
index 082deff7..885026ca 100644
--- a/api/ui-widgets.lua
+++ b/api/ui-widgets.lua
@@ -683,6 +683,7 @@ function pfUI.api.SkinCollapseButton(button, all)
b.icon:SetSize(size, size)
b.icon:SetPoint("LEFT", 2, 2)
CreateBackdrop(b.icon)
+ b.icon:EnableMouse(false)
b.icon.text = b.icon:CreateFontString(nil, "OVERLAY")
b.icon.text:SetFontObject(GameFontWhite)
b.icon.text:SetPoint("CENTER", -1, 0)
diff --git a/init/skins.xml b/init/skins.xml
index 3d444b0d..1f418591 100644
--- a/init/skins.xml
+++ b/init/skins.xml
@@ -30,6 +30,7 @@
+
diff --git a/skins/blizzard/options-interface.lua b/skins/blizzard/options-interface.lua
new file mode 100644
index 00000000..16bb39a5
--- /dev/null
+++ b/skins/blizzard/options-interface.lua
@@ -0,0 +1,49 @@
+pfUI:RegisterSkin("Options - Interface", function ()
+ local rawborder, border = GetBorderSize()
+ local bpad = rawborder > 1 and border - GetPerfectPixel() or GetPerfectPixel()
+ local cr, cg, cb = PFUI_CLASS_COLORS[UnitClassBase("player")]:GetRGB()
+
+ StripTextures(InterfaceOptionsFrame)
+ CreateBackdrop(InterfaceOptionsFrame, nil, nil, .75)
+ CreateBackdropShadow(InterfaceOptionsFrame)
+
+ local title = GetNoNameObject(InterfaceOptionsFrame, "FontString", "ARTWORK", ADDON_OPTIONS)
+ title:ClearAllPoints()
+ title:SetPoint("TOP", InterfaceOptionsFrame, "TOP", 0, -10)
+
+ CreateBackdrop(InterfaceOptionsFrameAddOns, nil, true, .75)
+ CreateBackdrop(InterfaceOptionsFramePanelContainer, nil, true, .75)
+ SkinScrollbar(InterfaceOptionsFrameAddOnsListScrollBar)
+
+ for _, button in ipairs(InterfaceOptionsFrameAddOns.buttons) do
+ button:GetHighlightTexture():SetTexture(cr, cg, cb, .25)
+
+ -- the list update swaps plus/minus textures on the toggle by path
+ local toggle = _G[button:GetName() .. "Toggle"]
+ SkinCollapseButton(toggle)
+ toggle:SetPushedTexture("")
+ toggle:SetHighlightTexture("")
+ toggle.SetPushedTexture = function() end
+ end
+
+ -- ClassicAPI's own pages (Options\Panel.lua) number their controls
+ local i = 1
+ while _G["ClassicAPIOptionsControl" .. i] do
+ local control = _G["ClassicAPIOptionsControl" .. i]
+ local ctype = control:GetFrameType()
+ if ctype == "CheckButton" then
+ SkinCheckbox(control)
+ elseif ctype == "Slider" then
+ SkinSlider(control)
+ else
+ SkinDropDown(control, nil, nil, nil, true)
+ end
+ i = i + 1
+ end
+
+ SkinButton(InterfaceOptionsFrameDefaults)
+ SkinButton(InterfaceOptionsFrameCancel)
+ SkinButton(InterfaceOptionsFrameOkay)
+ InterfaceOptionsFrameOkay:ClearAllPoints()
+ InterfaceOptionsFrameOkay:SetPoint("RIGHT", InterfaceOptionsFrameCancel, "LEFT", -2*bpad, 0)
+end)