Closed justinltodd closed 1 month ago
That would be for GSE to be set up to work with ElvUI
I can see they have a ticket for it https://github.com/TimothyLuke/GSE-Advanced-Macro-Compiler/issues/1628
In the past, users would drag a macro to the action bar, which would /click the GSE Button. With TWW's macro changes, that is no longer possible. On normal action bars, GSE can override the button, essentially changing the button to "click" the GSE Sequence. This works with ElvUI until you take off in flight or the bar changes, and then when it reverts to the normal state, it wipes the click modification.
To overcome this with Elv's action bars, GSE registers a custom action onto the "1" state of the LibActionButton. This allows the ActionButton to pass through directly to the GSE Button and mimics the Macro Feedback functions before TWW. (1 min demo: https://github.com/user-attachments/assets/fe885f67-b99a-4e77-9fdc-44960789b407) This bind functionality is specific to ElvUI and works, but it has one issue I cannot resolve.
I achieve the bind via
_G[Button]:SetState(
"1",
"custom",
{
func = function(self)
self:SetAttribute("type", "click")
self:SetAttribute("clickbutton", _G[OtherButton])
end,
tooltip = "GSE: " .. OtherButton,
texture = "Interface\\Addons\\GSE_GUI\\Assets\\GSE_Logo_Dark_512.blp"
})
Where Button is ElvUI_BarNButtonM and OtherButton is a GSE Sequence. This works for all cases except if you dismount in combat taint prevention blocks the SetAttribute commands from func(). From pulling apart LibActionButton and Elv's code calling it, I haven't been able to identify a way to set this securely. I assume something special needs to be done on the LibActionButton end.
As a short-term fix I have changed func to be
func = function(self)
if not InCombatLockdown() then
self:SetAttribute("type", "click")
self:SetAttribute("clickbutton", _G[Sequence])
end
end,
This prevents the following error, but the button won't reset to a functioning state till combat is complete.
1x [ADDON_ACTION_BLOCKED] AddOn '*** TaintForced ***' tried to call the protected function 'ElvUI_Bar1Button2:SetAttribute()'.
[string "@!BugGrabber/BugGrabber.lua"]:485: in function <!BugGrabber/BugGrabber.lua:485>
[string "=[C]"]: in function `SetAttribute'
But any insight would be greatly appreciated.
This function from GSE's end was shipped in GSE 3.2.14 so this ticket could be closed.
Troubleshooting Steps
Does not allow keybind or utilzing the action bar https://www.curseforge.com/wow/addons/gse-gnome-sequencer-enhanced-advanced-macros
Describe the expected behavior and what actually happened?
No response
Reproducing the issue.
No response
Lua Errors
No response
Verification Steps