Maybe this as a starting point to print the item hyperlink if the bank is open and left shift key is down (doesn't discrimiate the container the clicked item is in but you should be able to determine that using self:GetParent():GetID() as that should be the parent bag/bank slot id.):
Lua Code:
local isBankOpen = false
local function ItemHook(self, button)
if isBankOpen and IsLeftShiftKeyDown() then
print(C_Container.GetContainerItemInfo(self:GetParent():GetID(), self:GetID()).hyperlink)
end
end
local frame = CreateFrame("Frame")
frame:RegisterEvent("BANKFRAME_OPENED")
frame:RegisterEvent("BANKFRAME_CLOSED")
frame:SetScript("OnEvent", function(self, event)
if event == "BANKFRAME_OPENED" then
isBankOpen = true
else
isBankOpen = false
end
end)
hooksecurefunc("ContainerFrameItemButton_OnClick", ItemHook)
hooksecurefunc("ContainerFrameItemButton_OnModifiedClick", ItemHook)
This primarily hooks the functions called by the Blizzard item slots depending on modified state (so maybe you only need one?)