- Adds new setting "Enable inactivity hide during battle" (default:
true) which determines whether autohide should apply during battle
(thanks @aurieh)
- Adds new setting "Chat channels considered for activity" which allows
customizing which channels incoming messages must match to "bump" the
inactivity timer
- Adds new per-tab setting "Unhide the chat window on activity" to
configure whether it will be considered for "bumping" the inactivity
timer when receiving messages that match the new channel filter. Note
that the foreground tab is currently always considered.
- Extends autohide code to apply to poped-out tabs as well. Each popout
window has its own inactivity timer, but focusing the main window will
restore all popped out windows.
Co-authored-by: Auri <me@aurieh.me>
Prevents switching channels to a non-existent linkshell index (for both
regular linkshells and cross-world linkshells). ExtraChat linkshells are
already validated separately.
Prevents ChatLogWindow Draw failures from causing ChatTwo to grab input
focus each frame if the exception occurs during an Activate event.
Adds two configurable hotkeys (plus the required code infrastructure to
handle configurable hotkeys) for cycling the active chat tab forward by
one and backwards by one.
After not receiving a message for X seconds (configurable) in the
current tab or any tab with unread mode enabled, the chat will be
hidden. Focus can be returned with return or slash as usual.
Having input focus or hovering the mouse over the chat window "bumps"
it every frame.
Also fixes a bug that prevented focus from being restored to tabs with
input disabled. The chat window will be brought back but the activated
event won't be fully processed.
Co-authored-by: Auri <me@aurieh.me>