promotional bannermobile promotional banner

Move My Bags

Drag your bag windows anywhere, separate or combined. Pull one out and the column closes up behind it; put it back and it re-opens. Positions are remembered per bag, not per slot. No menu, no settings.

MoveMyBags

Your bag windows snap back to the bottom-right corner because World of
Warcraft re-anchors every open bag, every single time you open your bags.
Nothing you do to a bag window survives the next press of B. That's why the
usual tricks don't work, and why moving your bags has historically meant
installing an addon that replaces your entire inventory UI to get there.

MoveMyBags moves the windows Blizzard already gave you. Drag one, drop it,
it stays. No replacement bag UI, no menu, no settings, no layout engine of
its own. Until you drag something for the first time, it doesn't touch a
single anchor — you get Blizzard's default behaviour, completely unmodified.


DRAG A WINDOW. THAT'S THE INTERFACE.

  - Left-drag a bag window, anywhere but an item slot, and it moves
  - Shift-right-click a window to put that one back where Blizzard had it
  - /mmb reset puts all of them back

Works on the separate bag windows and on the combined bag window — which is
worth saying, because the combined window isn't natively draggable either.
It's flagged movable in Blizzard's own XML and has no drag handler attached,
so nothing moves it.

There is no options panel, because there are no options.


THE COLUMN CLOSES UP

Pull one bag out of the stack and Blizzard keeps laying the rest out as
though it never left, leaving a hole where it used to be.

MoveMyBags closes that gap the moment you let go of the mouse. Not on the
next bag open, not after a reload — on the drop, because dragging is the
whole interface and it has to take effect when you drop the thing. Put the
bag back and the column re-opens around it. If freeing up that space means a
bag can come back from a second column, it comes back.

It does this without reimplementing Blizzard's column layout, which it
couldn't do anyway: two of the numbers involved are locals inside Blizzard's
own file and no addon can read them. Instead every number it needs is
measured from the layout Blizzard just drew. That means it can't fall out of
step when Blizzard changes a constant in a patch.

And it checks its own work. Every layout pass, it re-runs its arithmetic with
nothing removed and compares the result against what Blizzard actually did.
If the two disagree — because something upstream changed — closing the gap
switches itself off for the session and tells you once. The column is left
exactly as Blizzard draws it. Dragging keeps working either way.


YOUR BAGS REMEMBER WHICH BAG THEY ARE

Positions are keyed to the bag, not to the slot it happens to sit in. Park
your mining bag on the left of the screen and it's on the left every time,
whichever slot it occupies and however many bags you have open. The combined
window keeps its own position, so the two modes never overwrite each other.
Saved account-wide.

Bag windows also grow taller when you upgrade the bag, and a window that
grows the wrong way is a window that's moved itself. So the position records
which edge you aimed at:

  - A window parked in the upper half of the screen keeps its top edge as it
    grows, instead of expanding off the top of the screen and being shoved
    back down somewhere you didn't put it
  - A window parked low keeps its bottom edge and grows upward, the way
    Blizzard's own windows do

Drop a window within a couple of pixels of its default slot and that's read
as an accidental nudge, not a move — it clears the saved position instead of
quietly opting that bag into being managed forever.


BUILT TO NOT BREAK YOUR CLICKS

This is the part that matters when you're in a raid, and it's the reason the
addon is as small as it is.

Bag windows sit close to Blizzard's secure code, and an addon that reaches
into that carelessly doesn't crash — it gets your item clicks blocked, three
pulls into a key, with nothing on screen to tell you why. Addons in this
space have shipped exactly that bug before.

  - Blizzard's anchor function is post-hooked, never replaced. Overwriting it
    is the classic way to poison everything downstream
  - The addon never calls Blizzard's layout code from its own path, because
    that code builds caches Blizzard reads back later
  - Repositioning is deferred by one frame, so it never runs inside a secure
    call stack. That single detail is the difference between working and
    breaking your clicks
  - A reset replays the slot Blizzard's own last layout pass asked for. No
    restack call, no closing and reopening your bags, no reload

Bags opened mid-fight land where you put them. Container frames aren't
protected, so repositioning them in combat is legal and isn't gated on
leaving it. Resolution changes, UI scale changes and leaving combat each
re-check the layout as a safety net.

If Blizzard ever ships native bag dragging, MoveMyBags gets out of the way
rather than stacking a second drag handler on top of theirs — per window, the
moment it sees Edit Mode's marker or a native drag handler appear on one. A
weekly automated job re-checks every assumption the addon is built on against
Blizzard's live UI source and files an issue the moment one stops holding.


WHAT IT DOESN'T DO

No scaling, no resizing, no sorting, no skinning, no config UI. Every one of
those drags the addon into Blizzard's layout maths, which is where addons in
this space get complicated and start breaking things.

It also doesn't avoid collisions. Two windows you park close together can
overlap once they grow, and a growing column can grow into a bag parked
beside it. Nudging your windows around to fix that would break the only
promise the addon makes — that a window stays where you put it — so it
doesn't.


GETTING STARTED

Install it and drag a bag. There's nothing to configure.

  /mmb           what the addon does
  /mmb reset     put every window back

Retail only. Built and verified against 12.1.0, build 69587

The Move My Bags Team

profile avatar
  • 3
    Projects
  • 1.1K
    Downloads
Donate

More from Zandramis