I have just updated this addon. All of the buttons now work and also added the ones that were missing. You can download it over at my blog. Until ckknight updates the project.
I have not so much programming experience and do not know as I should. Since I come from Germany, my English is not so good. I would be delighted if this addon times to be updated 3.0.3. Because of this I find very useful addon.
A big Kopliment to the creator!
Thanks in advance
Yours sincerely
gangtown
-> This' German 'message came from Google in "English" translated <--
function MicroMenuFu:OnEnable()
self.fontSize = FuBar:GetFontSize()
self:BuildButtons()
end
function MicroMenuFu:IsShowingButton(button)
return self.db.profile.visible[button]
end
function MicroMenuFu:ToggleShowingButton(button)
self.db.profile.visible[button] = not self.db.profile.visible[button]
self:CheckWidth(true)
return self.db.profile.visible[button]
end
function MicroMenuFu:OnTooltipUpdate()
if self.current_mouseover then
local data
for _,v in ipairs(buttons) do
if v.id == self.current_mouseover then
data = v
break
end
end
if not data then
return
end
local key = GetBindingKey(data.key)
if key then
key = " (" .. key .. ")"
else
key = ""
end
Tablet:SetTitle(format("|cffffffff%s|r%s", data.name, key))
Tablet:AddCategory():AddLine(
'text', data.tip,
'wrap', true
)
end
end
function MicroMenuFu:GetButtonSpacing()
return self.db.profile.buttonSpacing
end
function MicroMenuFu:SetButtonSpacing(spacing)
if spacing then
self.db.profile.buttonSpacing = spacing
self:SetFontSize(self.fontSize)
end
end
function MicroMenuFu:BuildButtons()
local last
local frameWidth = 0
for _, data in ipairs(buttons) do
local name = data.id
if self:IsShowingButton(name) then
local button_name = name
local frame_name = "MicroMenuFuFrame" .. name
local button = _G[frame_name] or self:CreatePluginChildFrame("Button", frame_name, self.frame)
button:Show()
button:EnableMouse(true)
if last then
button:SetPoint("LEFT", last, "RIGHT", self:GetButtonSpacing(), 0)
else
button:SetPoint("LEFT", self.frame, "LEFT", self:GetButtonSpacing(), 0)
end
local texture = _G[frame_name .. "Texture"] or button:CreateTexture(frame_name .. "Texture")
texture:SetTexture(data.icon)
if data.texcoord then
texture:SetTexCoord(unpack(data.texcoord))
end
last = button
else
local button = _G["MicroMenuFuFrame" .. name]
if button then
button:Hide()
end
end
end
if frameWidth > 0 then
self:SetFontSize(self.fontSize)
else
self:ToggleShowingButton("Char")
self:BuildButtons()
end
end
function MicroMenuFu:CheckWidth(force)
if force then
self:SetFontSize(self.fontSize)
if self.panel and self.panel:GetPluginSide(self) == "CENTER" then
self.panel:UpdateCenteredPosition()
end
end
end
function MicroMenuFu:SetFontSize(fsize)
if fsize then
local frameWidth = 0
local last
local newIconSize = FuBar:GetFontSize()
for _, v in ipairs(buttons) do
local name = v.id
local button = _G["MicroMenuFuFrame" .. name]
if button then
if self:IsShowingButton(name) then
button:SetWidth(newIconSize)
button:SetHeight(newIconSize)
button:Show()
if last then
button:SetPoint("LEFT", last, "RIGHT", self:GetButtonSpacing(), 0)
else
button:SetPoint("LEFT", self.frame, "LEFT", self:GetButtonSpacing(), 0)
end
frameWidth = frameWidth + button:GetWidth() + self:GetButtonSpacing()
last = button
else
button:Hide()
end
end
end
self.fontSize = fsize
self.frame:SetWidth(frameWidth)
end
end
Message: ...\FuBar_MicroMenuFu\Locale\MicroMenuFuLocale-esES.lua line 3:
AceLocale(FuBar_MicroMenuFu): Cannot provide the same locale more than once. "enUS" provided twice.
Pretty clear, the enES localization is trying to be registered as enUS, which obviously won't work as enUS is already registered.
Just change the "enUS" to "esES" in MicroMenuFuLocale-esES.lua in line 3 to fix it.
Was ist neu ?
Das Erfolgssystem sowie ein Butten für´s PVPFrame hinzugefügt.
Denn Butten Mainmenü freigeschaltet, die Buttens nach der Blizz. sotierung angeortnet.
Rechtschreibfehler in der Übersetztung gefixt.
Übersetungen für frFR, koKR, zhCN eingefügt.(bei übersetzungsfehler PM plz)
Das Main-Menü und PVP-Menü ist deaktiviert, mit rechtklick aktivieren, und /RL im chat eingeben.
MfG:-=CL=-
PS:Dickes danke an dccc für die pic´s, somit hatt der PVP Butten nen netteren Style :D
game menu (options) is protected by wow now, you can't open it directly with scripts. char info was impossible to add, because it takes different pics depending on your state.
there are modified pvp buttons because the ones already in the game needed code change for resizing...i prefered to change and add the button :>
http://www.huntthis.net/
Fubar - MicroMenu
http://www.wowinterface.com/downloads/info11703-FuBar-MicroMenu.html
Version: 1.0.5
Date: 04-18-2009 05:59 PM
Size: 100.96 Kb
exec = function() ToggleFrame(SpellBookFrame) end,
with:
exec = function() ToggleFrame(PVPParentFrame) end,
That worked for me to get the PVP Frame working again.
A big Kopliment to the creator!
Thanks in advance
Yours sincerely
gangtown
-> This' German 'message came from Google in "English" translated <--
Replace:
exec = function() ToggleSpellBook(BOOKTYPE_SPELL) end,
with:
exec = function() ToggleFrame(SpellBookFrame) end,
I think this fixes the problem that I found.
There is an error every time I click the pet abilities in the pet tab. I replaced
exec = function() ToggleSpellBook(BOOKTYPE_SPELL) end,
with
exec = function() ToggleSpellBook(bookType) end,
It opens to the glyphs tab, but this is the best I can do without spending hours upon hours working on it due to my limited knowledge of the subject.
Date: 2008-11-14 09:02:29
ID: 51
Error occured in: AddOn: FuBar_MicroMenuFu
Count: 1
Message: Error: AddOn FuBar_MicroMenuFu attempted to call a forbidden function (CastSpell()) from a tainted execution path.
Debug:
[C]: CastSpell()
..\FrameXML\SpellBookFrame.lua:395: SpellButton_OnClick()
[string "*:OnClick"]:4:
[string "*:OnClick"]:1
AddOns:
..........
Someone made a somewhat working update on the wowace forums... I don't know if this is authorized, but here you go ckknight. http://forums.wowace.com/showthread.php?t=14503
Please update! =) One of my all time favorite fubar plug-ins! Saves so much room on my screen.
local Tablet = AceLibrary("Tablet-2.0")
MicroMenuFu = AceLibrary("AceAddon-2.0"):new("FuBarPlugin-2.0", "AceDB-2.0", "AceConsole-2.0")
MicroMenuFu.version = "2.0." .. string.sub("$Revision: 31019 $", 12, -3)
MicroMenuFu.date = string.sub("$Date: 2007-03-26 09:16:30 -0400 (Mon, 26 Mar 2007) $", 8, 17)
MicroMenuFu.hasNoText = true
MicroMenuFu.hideWithoutStandby = true
MicroMenuFu.hasIcon = false
MicroMenuFu.frame = MicroMenuFu:CreateBasicPluginFrame("FuBar_MicroMenuFuFrame")
MicroMenuFu:RegisterDB("MicroMenuFuDB")
MicroMenuFu:RegisterDefaults("profile", {
buttonSize = 3,
buttonSpacing = 1,
visible = {
["Char"] = true,
["Spells"] = true,
["Achievements"] = true,
--["Main"] = true,
["Talents"] = true,
["Quest"] = true,
["Socials"] = true,
["LFG"] = true,
["World"] = true,
["Help"] = true,
},
})
local L = AceLibrary("AceLocale-2.2"):new("FuBar_MicroMenuFu")
local _G = getfenv(0)
local buttons = {
{
id = "Char",
icon = "Interface\\GroupFrame\\UI-Group-LeaderIcon",
exec = function() ToggleCharacter("PaperDollFrame") end,
key = "TOGGLECHARACTER0",
name = CHARACTER_BUTTON,
tip = NEWBIE_TOOLTIP_CHARACTER,
},
{
id = "Spells",
icon = "Interface\\Buttons\\UI-MicroButton-Spellbook-Up",
exec = function() ToggleSpellBook(BOOKTYPE_SPELL) end,
key = "TOGGLESPELLBOOK",
name = SPELLBOOK_ABILITIES_BUTTON,
tip = NEWBIE_TOOLTIP_SPELLBOOK,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
{
id = "Achievements",
icon = "Interface\\Buttons\\UI-MicroButton-Achievement-Up",
exec = function() ToggleAchievementFrame(stats) end,
key = "TOGGLEACHIEVEMENTFRAME",
name = ACHIEVEMENT_BUTTON,
tip = NEWBIE_TOOLTIP_ACHIEVEMENT,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
--[[{
id = "Main",
icon = "Interface\\Buttons\\UI-MicroButton-MainMenu-Up",
exec = function() ToggleGameMenu(1) end,
key = "TOGGLEGAMEMENU",
name = MAINMENU_BUTTON,
tip = NEWBIE_TOOLTIP_MAINMENU,
texcoord = {0.1, 0.9, 0.5, 0.9},
},]]
{
id = "Talents",
icon = "Interface\\Buttons\\UI-MicroButton-Talents-Up",
exec = function() ToggleTalentFrame() end,
key = "TOGGLETALENTS",
name = TALENTS_BUTTON,
tip = NEWBIE_TOOLTIP_TALENTS,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
{
id = "Quest",
icon = "Interface\\Buttons\\UI-MicroButton-Quest-Up",
exec = function() ToggleFrame(QuestLogFrame) end,
key = "TOGGLEQUESTLOG",
name = QUESTLOG_BUTTON,
tip = NEWBIE_TOOLTIP_QUESTLOG,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
{
id = "Socials",
icon = "Interface\\Buttons\\UI-MicroButton-Socials-Up",
exec = function() ToggleFriendsFrame() end,
key = "TOGGLESOCIAL",
name = SOCIAL_BUTTON,
tip = NEWBIE_TOOLTIP_SOCIAL,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
{
id = "LFG",
icon = "Interface\\Buttons\\UI-MicroButton-LFG-Up",
exec = function() ToggleLFGParentFrame() end,
key = "TOGGLELFG",
name = LFG_BUTTON,
tip = NEWBIE_TOOLTIP_LFGPARENT,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
{
id = "Help",
icon = "Interface\\Buttons\\UI-MicroButton-Help-Up",
exec = function() ToggleHelpFrame() end,
key = "TOGGLEHELPMENU",
name = HELP_BUTTON,
tip = NEWBIE_TOOLTIP_HELP,
texcoord = {0.1, 0.9, 0.5, 0.9},
},
}
local options = {
handler = MicroMenuFu,
type = 'group',
args = {
spacing = {
type = 'range',
name = L["Button Spacing"],
desc = L["Set Button Spacing"],
min = 0,
max = 10,
step = 0.5,
set = function(size) MicroMenuFu:SetButtonSpacing(size) end,
get = function() return MicroMenuFu:GetButtonSpacing() end,
},
visibility = {
type = 'group',
name = L["Button Visibility"],
desc = L["Toggle Button Visibility"],
args = {
}
},
},
}
for _, data in ipairs(buttons) do
local name = data.id
local key_name = string.gsub(name, "%s+", "-")
local button_name = name
local subtbl = {}
options.args.visibility.args[key_name] = subtbl
subtbl.type = "toggle"
subtbl.name = data.name
subtbl.desc = string.format(L["Toggle visibility of %s"], data.name)
subtbl.get = function() return MicroMenuFu:IsShowingButton(button_name) end
subtbl.set = function() MicroMenuFu:ToggleShowingButton(button_name) end
end
MicroMenuFu.OnMenuRequest = options
MicroMenuFu:RegisterChatCommand({ "/micromenufu" }, options)
function MicroMenuFu:OnEnable()
self.fontSize = FuBar:GetFontSize()
self:BuildButtons()
end
function MicroMenuFu:IsShowingButton(button)
return self.db.profile.visible[button]
end
function MicroMenuFu:ToggleShowingButton(button)
self.db.profile.visible[button] = not self.db.profile.visible[button]
self:CheckWidth(true)
return self.db.profile.visible[button]
end
function MicroMenuFu:OnTooltipUpdate()
if self.current_mouseover then
local data
for _,v in ipairs(buttons) do
if v.id == self.current_mouseover then
data = v
break
end
end
if not data then
return
end
local key = GetBindingKey(data.key)
if key then
key = " (" .. key .. ")"
else
key = ""
end
Tablet:SetTitle(format("|cffffffff%s|r%s", data.name, key))
Tablet:AddCategory():AddLine(
'text', data.tip,
'wrap', true
)
end
end
function MicroMenuFu:GetButtonSpacing()
return self.db.profile.buttonSpacing
end
function MicroMenuFu:SetButtonSpacing(spacing)
if spacing then
self.db.profile.buttonSpacing = spacing
self:SetFontSize(self.fontSize)
end
end
function MicroMenuFu:BuildButtons()
local last
local frameWidth = 0
for _, data in ipairs(buttons) do
local name = data.id
if self:IsShowingButton(name) then
local button_name = name
local frame_name = "MicroMenuFuFrame" .. name
local button = _G[frame_name] or self:CreatePluginChildFrame("Button", frame_name, self.frame)
button:Show()
button:EnableMouse(true)
if last then
button:SetPoint("LEFT", last, "RIGHT", self:GetButtonSpacing(), 0)
else
button:SetPoint("LEFT", self.frame, "LEFT", self:GetButtonSpacing(), 0)
end
local texture = _G[frame_name .. "Texture"] or button:CreateTexture(frame_name .. "Texture")
texture:SetTexture(data.icon)
if data.texcoord then
texture:SetTexCoord(unpack(data.texcoord))
end
texture:SetAllPoints(button)
local OnEnter = button:GetScript("OnEnter")
button:SetScript("OnEnter", function()
self.current_mouseover = button_name
OnEnter()
end)
local OnLeave = button:GetScript("OnLeave")
button:SetScript("OnLeave", function()
self.current_mouseover = nil
OnLeave()
end)
button:SetScript("OnClick", data.exec)
button:SetWidth(FuBar:GetFontSize())
button:SetHeight(FuBar:GetFontSize())
frameWidth = frameWidth + button:GetWidth() + self:GetButtonSpacing()
last = button
else
local button = _G["MicroMenuFuFrame" .. name]
if button then
button:Hide()
end
end
end
if frameWidth > 0 then
self:SetFontSize(self.fontSize)
else
self:ToggleShowingButton("Char")
self:BuildButtons()
end
end
function MicroMenuFu:CheckWidth(force)
if force then
self:SetFontSize(self.fontSize)
if self.panel and self.panel:GetPluginSide(self) == "CENTER" then
self.panel:UpdateCenteredPosition()
end
end
end
function MicroMenuFu:SetFontSize(fsize)
if fsize then
local frameWidth = 0
local last
local newIconSize = FuBar:GetFontSize()
for _, v in ipairs(buttons) do
local name = v.id
local button = _G["MicroMenuFuFrame" .. name]
if button then
if self:IsShowingButton(name) then
button:SetWidth(newIconSize)
button:SetHeight(newIconSize)
button:Show()
if last then
button:SetPoint("LEFT", last, "RIGHT", self:GetButtonSpacing(), 0)
else
button:SetPoint("LEFT", self.frame, "LEFT", self:GetButtonSpacing(), 0)
end
frameWidth = frameWidth + button:GetWidth() + self:GetButtonSpacing()
last = button
else
button:Hide()
end
end
end
self.fontSize = fsize
self.frame:SetWidth(frameWidth)
end
end
Date: 2008-11-14 09:02:29
ID: 51
Error occured in: AddOn: FuBar_MicroMenuFu
Count: 1
Message: Error: AddOn FuBar_MicroMenuFu attempted to call a forbidden function (CastSpell()) from a tainted execution path.
Debug:
[C]: CastSpell()
..\FrameXML\SpellBookFrame.lua:395: SpellButton_OnClick()
[string "*:OnClick"]:4:
[string "*:OnClick"]:1
AddOns:
Swatter, v3.1.7 (<%codename%>)
Ace3, v
AucAdvanced, v5.1.3715 (SnaggleTooth)
AucStatHistogram, v5.1.3715 (SnaggleTooth)
AucStatiLevel, v5.1.3715 (SnaggleTooth)
AucStatStdDev, v5.1.3715 (SnaggleTooth)
AucUtilScanProgress, v5.1.3715.2530
AucUtilSimpleAuction, v5.1.3715.3708
Babylonian, v5.1.DEV.130
beql, v1.0.3:3.0.3
Broker2FuBar, v1.0
BrokerHitCrit, v1.2
Cartographer, v2.0
CartographerBattlegrounds, v2.0
CartographerCoordinates, v2.0
CartographerFoglight, v2.0
CartographerGroupColors, v2.0
CartographerGuildPositions, v2.0
CartographerInstanceLoot, v2.0
CartographerInstanceMaps, v2.0
CartographerInstanceNotes, v2.0
CartographerLookNFeel, v2.0
CartographerNotes, v2.0
CartographerPOI, v2.0
CartographerProfessions, v2.0
CartographerWaypoints, v2.0
CartographerZoneInfo, v2.0
Configator, v5.1.DEV.130
DebugLib, v5.1.DEV.130
Dominos, v1.8.1
DominosBuff, v
DominosCast, v
DominosRoll, v
DominosXP, v
EnhTooltip, v5.1.3715 (SnaggleTooth)
FuBar, v
FuBarAmmoFu, v2.0
FuBarBagFu, vv1.1.1
FuBarBattlegroundFu, v2.0
FuBarClockFu, v3.0
FuBarCraftTimersFu, v
FuBarDPS, v2.0.$Rev: 74969 $
FuBarDurabilityFu, v2.0
FuBarEmoteFu2, v0.1.5
FuBarExperienceFu, v1.1 $Revision: 65606 $
FuBarFactionItemsFu, v2.4.0
FuBarFriendsFu, v2.4.1-92
FuBarGarbageFu, v2.0.$Revision: 79607 $
FuBarGroupFu, v1
FuBarGuildFu, v2.4.1-107
FuBarHeyFu, v1.5
FuBarHonorFuPlus, v2.0
FuBarItemBonusesFu, v2.1
FuBarLocationFu, v3.0
FuBarMicroMenuFu, v2.0
FuBarMoneyFu, vv1.2-1-g3618150
FuBarPerformanceFu, v2.0.0
FuBarRecipeRadarFu, v0.1
FuBarRecountFu, v3.6
FuBarRegenFu, v2.1.0
FuBarSkillsPlusFu, v3.0.1
FuBarVolumeFu, v2.0.$Revision: 55081 $
Gatherer, v3.1.7
GuildLaunchProfiler, v00.08.00BETA
Informant, v5.1.3715 (SnaggleTooth)
NotesUNeed, v6.52.30000
Omen, v3.0.3
OmniCC, v2.2.5
Prat30, vRC3
Prat30Libraries, v
QuestHelper, v0.65
RecipeRadar, v1.28
Recount, v
simpleMinimap, v30000-3
SlideBar, v3.1.7 (<%codename%>)
Stubby, v5.1.3715 (SnaggleTooth)
TankPoints, v
XPerl, v3.0.1f
XPerlArcaneBar, v
XPerlParty, v
XPerlPartyPet, v
XPerlPlayer, v
XPerlPlayerBuffs, v
XPerlPlayerPet, v
XPerlRaidAdmin, v
XPerlRaidFrames, v
XPerlRaidHelper, v
XPerlRaidMonitor, v
XPerlRaidPets, v
XPerlTarget, v
XPerlTargetTarget, v
(ck=938)
frFR is also declared as enUS.
koKr is declared as ruRU.
zhCN is declared as zhTW.
Fix these to remove the error messages on startup. Or just delete any localization file you do not require.
AceLocale(FuBar_MicroMenuFu): Cannot provide the same locale more than once. "enUS" provided twice.
Pretty clear, the enES localization is trying to be registered as enUS, which obviously won't work as enUS is already registered.
Just change the "enUS" to "esES" in MicroMenuFuLocale-esES.lua in line 3 to fix it.
Date: 2008-10-24 13:59:37
ID: 52
Error occured in: Global
Count: 1
Message: ...\FuBar_MicroMenuFu\Locale\MicroMenuFuLocale-esES.lua line 3:
AceLocale(FuBar_MicroMenuFu): Cannot provide the same locale more than once. "enUS" provided twice.
Debug:
[C]: ?
[C]: error()
...rface\AddOns\AHsearch\libs\AceLibrary\AceLibrary.lua:122: error()
...Ons\ElkBuffBars\libs\AceLocale-2.2\AceLocale-2.2.lua:180: RegisterTranslations()
...\FuBar_MicroMenuFu\Locale\MicroMenuFuLocale-esES.lua:3: in main chunk
[C]: ?
[C]: pcall()
FuBar\FuBar.lua:829:
FuBar\FuBar.lua:824
FuBar\FuBar.lua:957: LoadPlugin()
FuBar\FuBar.lua:1093: object_method()
...terface\AddOns\LibRockTimer-1.0\LibRockTimer-1.0.lua:289:
...terface\AddOns\LibRockTimer-1.0\LibRockTimer-1.0.lua:227
might be me or some other addon... idk.
UI version:
30000 (WoW v. 3.0.2)
Newest release:
81010
Downloadlink:
http://letzchen.le.ohost.de/WoW/Addons/UI_v30000/FuBar_MicroMenuFu-r81010.rar
MfG:-=CL=-
exec = function() ToggleFrame(QuestLogFrame) end,
Then will the questbutton work again :)
Supportet 3.0.X
http://letzchen.le.ohost.de/WoW/Addons/UI_v30000/FuBar_MicroMenuFu-r81000.rar
Was ist neu ?
Das Erfolgssystem sowie ein Butten für´s PVPFrame hinzugefügt.
Denn Butten Mainmenü freigeschaltet, die Buttens nach der Blizz. sotierung angeortnet.
Rechtschreibfehler in der Übersetztung gefixt.
Übersetungen für frFR, koKR, zhCN eingefügt.(bei übersetzungsfehler PM plz)
Das Main-Menü und PVP-Menü ist deaktiviert, mit rechtklick aktivieren, und /RL im chat eingeben.
MfG:-=CL=-
PS:Dickes danke an dccc für die pic´s, somit hatt der PVP Butten nen netteren Style :D
http://uploaded.to/?id=c3i3gz
game menu (options) is protected by wow now, you can't open it directly with scripts. char info was impossible to add, because it takes different pics depending on your state.
there are modified pvp buttons because the ones already in the game needed code change for resizing...i prefered to change and add the button :>
If you are getting an error trying to open the help frame, you need to replace line 98 in MicroMenuFu.lua:
exec = function() ToggleKnowledgeBaseFrame() end,
with
exec = function() ToggleHelpFrame() end,
After you do that, save the document and reload the UI. You should then be able to update the help frame without issue.