feat: autohide improvements

- 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>
This commit is contained in:
Dean Sheather
2024-07-18 01:35:59 +10:00
parent a5161cf97c
commit 56f6855da2
11 changed files with 296 additions and 112 deletions
+73 -1
View File
@@ -2481,7 +2481,7 @@ namespace ChatTwo.Resources {
}
/// <summary>
/// Looks up a localized string similar to Hide the chat after a configurable period of inactivity. The current tab and any tabs with unread indicators enabled are considered for activity..
/// Looks up a localized string similar to Hide the chat after a configurable period of inactivity. The current tab and any other tabs with the setting enabled are considered for activity..
/// </summary>
internal static string Options_HideWhenInactive_Description {
get {
@@ -2534,6 +2534,69 @@ namespace ChatTwo.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to When disabled, the chat log will stay active during battle..
/// </summary>
internal static string Options_InactivityHideActiveDuringBattle_Description {
get {
return ResourceManager.GetString("Options_InactivityHideActiveDuringBattle_Description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Enable inactivity hide during battle.
/// </summary>
internal static string Options_InactivityHideActiveDuringBattle_Name {
get {
return ResourceManager.GetString("Options_InactivityHideActiveDuringBattle_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Select All.
/// </summary>
internal static string Options_InactivityHideChannels_All_Label {
get {
return ResourceManager.GetString("Options_InactivityHideChannels_All_Label", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Hold Ctrl+Shift to click..
/// </summary>
internal static string Options_InactivityHideChannels_Button_Tooltip {
get {
return ResourceManager.GetString("Options_InactivityHideChannels_Button_Tooltip", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Which chat channels should be considered for activity. Other channels will not restore the chat regardless of which tab they occur in..
/// </summary>
internal static string Options_InactivityHideChannels_Description {
get {
return ResourceManager.GetString("Options_InactivityHideChannels_Description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Chat channels considered for activity.
/// </summary>
internal static string Options_InactivityHideChannels_Name {
get {
return ResourceManager.GetString("Options_InactivityHideChannels_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unselect All.
/// </summary>
internal static string Options_InactivityHideChannels_None_Label {
get {
return ResourceManager.GetString("Options_InactivityHideChannels_None_Label", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to How long to wait (in seconds) before considering the chat log inactive..
/// </summary>
@@ -3137,6 +3200,15 @@ namespace ChatTwo.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Unhide the chat window on activity.
/// </summary>
internal static string Options_Tabs_InactivityBehaviour {
get {
return ResourceManager.GetString("Options_Tabs_InactivityBehaviour", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Use different opacity than main window.
/// </summary>