Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Inventory

Everything you’re carrying and wearing, standing still in its own window — so you can see what’s in your hands and on your back without typing inv and watching it scroll away.

What it’s for

INVENTORY answers a question you ask constantly and it answers it into the main window, where the next combat message buries it. Ten seconds later you’re typing it again.

The inventory window holds that answer permanently. It lists your worn and carried items, and it rewrites itself the moment the list changes — you pick something up, stow a gem, draw a weapon, and the window is already correct. Click any item and the game’s verb menu opens on it, so you can look, wear, or stow without spelling the noun.

Set it up

  1. Click Windows in the top toolbar, open the Character category, and tick Inventory. (Typed equivalent: .addwindow inventory inventory 92 3 40 20.)
  2. Use the row’s zone control to place it — the Right Bar keeps it out of the text.
  3. There is no widget section in this window’s right-click menu. Its look lives under Appearance, and Appearance ▸ Text ▸ Word wrap is the one setting that changes how the list reads.
📷 screenshot pending
An Inventory window in the right bar listing worn and carried items, with the pointer over one row showing the pointing-hand cursor.

Expected result: a standing list of what you’re carrying. Clicking an item opens that item’s verb menu; the list rewrites itself whenever your inventory changes.

Common setups

A carry column you can bag loot into

Add the inventory window, send it to the Right Bar, and give it about twenty rows. Open an Items window above it and a Container window for your pack below it. Now hold Ctrl and drag a row from the items window onto the container window.

You’ll see: the item lands in the bag, disappears from the ground list on the next room update, and appears inside the container window — the result of put <item> in <pack> with no noun typed. Dropping onto the inventory window’s body instead sends wear, so a cloak dragged there goes on rather than into a bag.

Watching a stow actually land

Keep the inventory window open and stow something from your hand.

You’ll see: the list rewrites in place the instant the game reports the change — no scroll, no re-typing inv, and the item you stowed is no longer listed loose.

Tips & gotchas

⚠️ This window is a snapshot, not a log — it has no scrollback. Every update clears it and refills it from the game’s current list. PageUp will not show you what you were carrying a minute ago, because that text was never kept. The Buffer size control the editors offer for this widget is inert; leave it alone.

⚠️ Dropping an item onto the inventory window’s empty body means wear, not “put in inventory”. Release over a row and the drop targets that specific item instead. This is the one drop target whose meaning isn’t “into the thing under the cursor.”

⚠️ In the GUI, Ctrl+C quits. In the TUI it copies your selection. Quit the TUI with .quit or .exit.

Dragging needs a modifier, and it’s Ctrl by default. Plain dragging selects text in both desktop frontends. Hold the drag modifier first — it’s ui.drag_modifier_key in config.toml and accepts ctrl, alt, or shift.

The window can be empty-looking rather than empty. Unlike Items, which prints No objects here., and Containers, which prints Empty., inventory renders nothing at all until the game has sent the list. Type inv once after login if a fresh window looks blank.

An unchanged list is not redrawn. The client compares each incoming snapshot against the last one and skips identical updates, so a window that doesn’t flicker on every inv is working correctly.

You can have more than one. Every inventory window receives the same feed, so a second one in another zone is a legitimate way to see a long list without a tall window.

Reserve is the same widget on a different feed. That window behaves identically — snapshot in, snapshot replaced.

.foreach and .sorter read your inventory without a window open. The item registry is fed straight from the feed whether or not you’ve placed this widget, so batch commands work either way. See Inventory Tools.

See also

  • Containers — a window per bag, and the drop target for stowing
  • Items — what’s on the ground rather than on you
  • Reserve — the same snapshot widget on the reserve feed (GemStone IV)
  • Inventory Tools (.foreach, .sorter) — batch commands over what you’re carrying
  • Hands — what’s in each hand, on its own
Config reference (TOML)

Per-window (layout.toml)

widget_type = "inventory". The .addwindow type string is inventory.

FieldTypeDefaultWhat it does
streamslist["inv"]Feed the window reads. inv is what the game sends
buffer_sizenumber0Inert for this widget. Saved and ignored — content is replaced wholesale each update
wordwrapbooltrueWrap long item names instead of clipping them
show_timestampsboolfalsePresent on the type but not offered in either editor for inventory windows

The shipped template is 20 rows by 40 columns with a floor of 4 rows. There is no [inventory] section in config.toml — this window has no global settings.

[[windows]]
name = "inventory"
widget_type = "inventory"
title = "Inventory"
row = 3
col = 92
rows = 20
cols = 40
show_border = true
streams = ["inv"]
wordwrap = true