feat: add autohide after inactivity

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>
This commit is contained in:
Dean Sheather
2024-07-11 15:50:17 +10:00
parent 05495705fd
commit c3c60e7e43
6 changed files with 115 additions and 10 deletions
+12
View File
@@ -406,6 +406,18 @@
<data name="Options_HideWhenUiHidden_Description">
<value>Hide {0} when the game UI is hidden.</value>
</data>
<data name="Options_HideWhenInactive_Name">
<value>Hide when inactive</value>
</data>
<data name="Options_HideWhenInactive_Description">
<value>Hide the chat after a configurable period of inactivity. The current tab and any tabs with unread indicators enabled are considered for activity.</value>
</data>
<data name="Options_InactivityHideTimeout_Name">
<value>Inactivity timeout</value>
</data>
<data name="Options_InactivityHideTimeout_Description">
<value>How long to wait (in seconds) before considering the chat log inactive.</value>
</data>
<data name="Options_KeybindMode_Name">
<value>Keybind mode</value>
</data>