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"; returnsTAB_NOT_FOUNDif 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.
| Constant | Notes |
|---|---|
| COMBAT | Combat options tab |
| SKILLS | Skills/stats tab |
| QUESTS | Quest list tab |
| INVENTORY | Inventory tab |
| EQUIPMENT | Equipment tab |
| PRAYER | Prayer tab |
| MAGIC | Magic spellbook tab |
| FRIENDS_CHAT | Friends chat tab |
| FRIENDS | Friends list tab |
| LOGOUT | Logout tab |
| SETTINGS | Settings tab |
| EMOTES | Emotes tab |
| MUSIC | Music tab |
Behavior notes:
openskips zero packed IDs and uses the first non-null, non-hidden widget it finds viaWidgetActions.interact.- The MAGIC tab's bottom-line packed ID is raw
(164 << 16 | 57)- this entry is absent fromWidgetInfoExtendedand must remain hardcoded until the extended enum is updated. TAB_NOT_FOUNDindicates 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.