feat: fast keybind mode + per-spec keybind profiles#246
Open
bulshack wants to merge 7 commits intoEllesmereGaming:mainfrom
Open
feat: fast keybind mode + per-spec keybind profiles#246bulshack wants to merge 7 commits intoEllesmereGaming:mainfrom
bulshack wants to merge 7 commits intoEllesmereGaming:mainfrom
Conversation
- Add EUI_KeybindMode.lua: full keybind mode overlay with ToggleKeybindMode, SnapshotKeybinds, and RestoreKeybinds - Add /eui keybind (or /eui kb) slash command to toggle keybind mode - Add SwitchKeybindProfile for automatic keybind switching on spec change - Add EUI_KeybindDebugLog SavedVariable for debug logging - Hide profile rename button in options (name set at creation) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Expose barFrames/barButtons so keybind mode can discover action buttons - Add Keybind Mode button to ActionBars options panel - Add Keybind Profiles section showing active profile and per-spec assignments Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ActionBars Options: - Replace custom keybind button with proper KEYBINDS section header - Accent-colored wide button with icon, shortcut hint, and detailed tooltip - Styled profile rows with spec icons, active-spec indicator, alternating backgrounds, and per-row hover tooltips explaining profile status Keybind Mode HUD: - Wider HUD (680px) with accent glow top edge and keybind icon - Profile indicator shows spec icon + profile name with hover tooltip - Instructions text is hoverable with full usage guide tooltip - Close button shows red on hover with auto-save reminder tooltip - Filter pills show bar state tooltip on hover - Dynamic accent color via GetAccentColor() to match active theme Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Critical: - Remove EUI_KeybindDebugLog SavedVariable (unbounded growth on disk) - Gate DebugLog behind EllesmereUIDB.keybindDebug flag (silent by default) - Guard login RestoreKeybinds against combat lockdown with PLAYER_REGEN_ENABLED defer Important: - Revert all editBtn changes in EUI__General_Options.lua (preserve author's rename behavior) - Add isActive guard to FlashFeedback and conflict timer callbacks (prevent orphan frame ops) Optimization: - Defer SaveBindings(2) to CloseKeybindMode instead of per-bind disk writes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The keybind profile rows and active profile display were built once and never refreshed. Now uses RegisterWidgetRefresh callback to update all dynamic elements (active indicator, spec icons, profile names, colors) when RefreshPage is called. Adds PLAYER_SPECIALIZATION_CHANGED listener to trigger RefreshPage so the keybind section updates immediately when switching specs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/eui kb.I really enjoy using this addon and wanted a faster way to rebind keys when switching between specs. This was built to match EllesmereUI's visual style — accent colors,
ShowWidgetTooltip,MakeBorder,MakeFont,RegisterWidgetRefresh, etc.What's included
EUI_KeybindMode.luaEllesmereUI.tocEUI_KeybindMode.luato load orderEllesmereUI.lua/eui keybindand/eui kbslash commandsEllesmereUI_Profiles.luaSwitchKeybindProfile— auto-switches keybind profiles on spec changeEllesmereUIActionBars.lua_barFrames/_barButtonsfor keybind mode button discoveryEUI_ActionBars_Options.luaHow it works
/eui kb)Safety
EllesmereUIDB.keybindDebug = true)SaveBindings(2)call on close instead of per-bind disk writesEllesmereUIDB(WTF folder) — survives addon updatesTest plan
/reload🤖 Generated with Claude Code