Here you go:
Code:
local f = CreateFrame("Button","FindMyMouseButton",WorldFrame)
local toggleDelay = 0.1 -- how frequently should it blink, in seconds
local binding = "SHIFT-M" -- key binding to toggle, see http://wowprogramming.com/docs/api_types#binding
f:Hide()
f:SetSize(50,50) -- (width, height) - texture dimensions
f:SetFrameStrata("TOOLTIP")
f.tex = f:CreateTexture(nil,"OVERLAY",8)
f.tex:SetAllPoints()
f.tex:SetAlpha(1) -- (a) - texture opacity
f.tex:SetTexture(1,1,1) -- (r,g,b) as fractions of 255 - texture color
f:SetScript("OnUpdate",function(self,elapsed) self.t = self.t+elapsed if self.t >= toggleDelay then self.t = 0 self.tex[self.tex:IsShown() and "Hide" or "Show"](self.tex) end self:SetPoint("CENTER",WorldFrame,"BOTTOMLEFT",GetCursorPosition()) end)
f:EnableMouse(false)
f:SetScript("OnClick",function(self) if self:IsShown() then self:Hide() else self.t = 0 self.tex:Show() self:SetPoint("CENTER",WorldFrame,"BOTTOMLEFT",GetCursorPosition()) self:Show() end end)
SetOverrideBindingClick(f,true,binding,"FindMyMouseButton","LeftButton")
How to use. Tested. Report back with issues.