panorama
Run Panorama JavaScript and call UI APIs from Lua.
Helpers
panorama.ready(): boolean
- Returns if panorama is ready to use.
panorama.root(): string | nil
- Returns the active root panel name.
panorama.find(panel_id: string): boolean
- Returns if a panel with the given id exists.
panorama.run(code: string, panel?: string, origin?: string): any
- Runs JavaScript and returns the result.
- Pass
panelto run on a specific panel, otherwise the active root is used.
if secret.panorama.ready() then
print(secret.panorama.run("return MyPersonaAPI.GetXuid();"))
end
Proxies
Indexing secret.panorama lets you call APIs directly:
local xuid = secret.panorama.MyPersonaAPI.GetXuid()
If the first key matches a panel id, calls are scoped to that panel:
secret.panorama.CSGOMainMenu.UiToolkitAPI -- etc
run, ready, find, and root stay as normal functions.
secret.listener.add("paint", "pano_once", function()
if not secret.panorama.ready() then return end
print(secret.panorama.MyPersonaAPI.GetXuid())
secret.listener.remove("paint", "pano_once")
end)