Skip to main content

Tab Actions

TabActions opens game interface tabs across all three viewport layouts: fixed, resizable, and bottom-line resizable.

Methods

  • open(Tab)InteractionResult - finds the first visible widget across the tab's three packed IDs and clicks it with "Switch", "Open", or "Select"; returns TAB_NOT_FOUND if none are visible

isOpen(Tab) is available as an idempotency guard. For broader interface reads, use the widget SDK described in Query Helpers.

Example:

if (!TabActions.isOpen(Tab.PRAYER)) {
TabActions.open(Tab.PRAYER);
}

Tab Enum

Each constant holds three packed widget IDs: (fixedId, resizableId, bottomLineId). A zero value means the slot is not present in that layout.

ConstantNotes
COMBATCombat options tab
SKILLSSkills/stats tab
QUESTSQuest list tab
INVENTORYInventory tab
EQUIPMENTEquipment tab
PRAYERPrayer tab
MAGICMagic spellbook tab
FRIENDS_CHATFriends chat tab
FRIENDSFriends list tab
LOGOUTLogout tab
SETTINGSSettings tab
EMOTESEmotes tab
MUSICMusic tab

Behavior notes:

  • open skips zero packed IDs and uses the first non-null, non-hidden widget it finds via WidgetActions.interact.
  • The MAGIC tab's bottom-line packed ID is raw (164 << 16 | 57) - this entry is absent from WidgetInfoExtended and must remain hardcoded until the extended enum is updated.
  • TAB_NOT_FOUND indicates no viewport layout had a usable widget. This can happen on certain interface states (e.g., bank open) where sidebar tabs are hidden by the game.