Slotport

SlotPort lets you export and import your action bar layouts and macros between characters — as a compact, compressed string you can share or store anywhere. Supports both ElvUI and Default UI, including cross-UI transfers.

File Details

SlotPort_1.1.2.zip

  • R
  • Jun 23, 2026
  • 214.20 KB
  • 20
  • 12.0.7
  • Retail

File Name

SlotPort_1.1.2.zip

Supported Versions

  • 12.0.7

1.1.2

New

  • "Reset Slots" button (action bar tab) – clears the action from all currently selected slots, with a confirmation dialog. Skips silently if no slots are selected; blocked in combat.
  • "Delete Macros" button (macro tab) – permanently deletes all currently selected macros, with a confirmation dialog. Macros are deleted by name (not index) to avoid index-shift issues when multiple macros are removed in one pass.

Fixed

  • Macro import locked the icon, breaking #showtooltip – macro export stored the macro's current icon and import (EditMacro/CreateMacro) restored it, freezing the icon. Macros using #showtooltip are meant to update their icon dynamically; the locked icon overrode that. Import now always (re)creates macros with the default question-mark icon instead of the exported one.
  • Import button: invalid Lua 5.4 reassignment of a for-loop control variablegui.lua's import-button handler reassigned its for line in ... loop variable inside the loop body. In Lua 5.4 (current retail client), for-loop control variables are implicitly const; this raised a runtime error on every import click. Renamed to a separate local.
  • Two sources of truth for the addon versionSlotPort.version was a separate hardcoded string instead of being read from the .toc. Now derived via C_AddOns.GetAddOnMetadata("SlotPort", "Version"), so the .toc is the single source of truth.
  • Hardcoded German strings in /sp debug and /sp export/import error output – these bypassed the locale system used everywhere else. Moved to enUS.lua/deDE.lua (DBG_SLOTS_HEADER, DBG_SLOTS_NONE, DBG_SLOTS_TOTAL, DBG_SPELL_SEARCH, DBG_SPELL_NOT_FOUND, DBG_TIP, ERROR_PREFIX).

Changed

  • export.lua performance – the static action-button frame-name table used for single-key-assist detection was being recreated on every selected slot inside the export loop; hoisted to a module-level constant (ASSIST_BTN_FRAME_NAMES).
  • bars.lua cleanup – removed a redundant local L() re-definition in ResetSelectedSlots that shadowed the file-level locale helper.