Tab Actions
This page documents the committed source. Treat revision-sensitive RuneLite UI, packet, or in-game outcomes as pending live-client verification unless the page records direct evidence.
The current tab mapping is a source guideline, not proof of selected-tab convergence. Live validation found Friends Chat and Music did not converge, and some queued actions left Inventory selected. Check the visible selected state after dispatch rather than relying on SUCCESS alone.
TabActions separates deliberate tab changes from check-only prerequisites. Requested inventory, equipment, prayer, magic, combat, and Magic-minigame actions never select a side tab for their caller.
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 visiblerequireOpen(Tab)→InteractionResult- returnsCONFIRMEDwhen the tab is visible; otherwise returnsWIDGET_HIDDENtargetingtab/<TAB_NAME>without clicking or changing the selected tab
isOpen(Tab) acts 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 absent 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:
openresolves a visible action owner, then falls back across non-zero packed IDs. Dispatch usesWidgetActions.interactViaMenuActionso the click precedes RuneLite's native tab operation.openis the only shared tab API that deliberately changes the selected side tab. Call it explicitly, observeisOpen, and only then request a tab-dependent action.- We catalog the MAGIC tab's bottom-line component for the resizable-modern view; new consumers should resolve its canonical alias instead of copying a packed literal.
TAB_NOT_FOUNDindicates no viewport layout had a usable widget. This happens on interface states (e.g., bank open) where the game hides sidebar tabs.