feat(tabs): add dedicated System tab to default layout
Split the technical/notification streams (System, Error, Echo, Debug, NPC announcements, login/logout, retainer sales, gathering system, glamour notifications, sign messages, alarms, orchestrion, message book, random number, progress) out of the General tab into their own System tab. General now shows player conversation plus the active gameplay events (loot rolls, crafting, gathering, NPC dialogue, party finder pings) without burying chat under technical chatter.
This commit is contained in:
+6
-4
@@ -153,13 +153,15 @@ public sealed class Plugin : IDalamudPlugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Hellion default tab layout for first-run and v10-wipe.
|
// Hellion default tab layout for first-run and v10-wipe.
|
||||||
// General-catch-all + FC + Party + Linkshell + Tells matches the
|
// General catches player chat plus active gameplay events; the
|
||||||
// channel set the average raider uses; the Beginner tab only
|
// System tab takes the technical noise so it does not bury real
|
||||||
// appears when the user has the Novice Network enabled in Audio
|
// conversation. Beginner tab only appears when the Novice
|
||||||
// & Notifications, otherwise it would just sit empty.
|
// Network is enabled in Audio and Notifications, otherwise it
|
||||||
|
// would just sit empty.
|
||||||
if (Config.Tabs.Count == 0)
|
if (Config.Tabs.Count == 0)
|
||||||
{
|
{
|
||||||
Config.Tabs.Add(TabsUtil.VanillaGeneral);
|
Config.Tabs.Add(TabsUtil.VanillaGeneral);
|
||||||
|
Config.Tabs.Add(TabsUtil.HellionSystem);
|
||||||
Config.Tabs.Add(TabsUtil.HellionFreeCompany);
|
Config.Tabs.Add(TabsUtil.HellionFreeCompany);
|
||||||
Config.Tabs.Add(TabsUtil.HellionParty);
|
Config.Tabs.Add(TabsUtil.HellionParty);
|
||||||
if (Config.ShowNoviceNetwork)
|
if (Config.ShowNoviceNetwork)
|
||||||
|
|||||||
+1
@@ -233,6 +233,7 @@ internal class HellionStrings
|
|||||||
internal static string Settings_Information_Changelog_Heading => Get(nameof(Settings_Information_Changelog_Heading));
|
internal static string Settings_Information_Changelog_Heading => Get(nameof(Settings_Information_Changelog_Heading));
|
||||||
|
|
||||||
// Hellion Chat — Default tab presets (channel-themed)
|
// Hellion Chat — Default tab presets (channel-themed)
|
||||||
|
internal static string Tabs_Presets_System => Get(nameof(Tabs_Presets_System));
|
||||||
internal static string Tabs_Presets_FreeCompany => Get(nameof(Tabs_Presets_FreeCompany));
|
internal static string Tabs_Presets_FreeCompany => Get(nameof(Tabs_Presets_FreeCompany));
|
||||||
internal static string Tabs_Presets_Party => Get(nameof(Tabs_Presets_Party));
|
internal static string Tabs_Presets_Party => Get(nameof(Tabs_Presets_Party));
|
||||||
internal static string Tabs_Presets_Beginner => Get(nameof(Tabs_Presets_Beginner));
|
internal static string Tabs_Presets_Beginner => Get(nameof(Tabs_Presets_Beginner));
|
||||||
|
|||||||
@@ -528,6 +528,9 @@
|
|||||||
</data>
|
</data>
|
||||||
|
|
||||||
<!-- Hellion Chat — Default-Tab-Presets (kanalspezifisch) -->
|
<!-- Hellion Chat — Default-Tab-Presets (kanalspezifisch) -->
|
||||||
|
<data name="Tabs_Presets_System" xml:space="preserve">
|
||||||
|
<value>System</value>
|
||||||
|
</data>
|
||||||
<data name="Tabs_Presets_FreeCompany" xml:space="preserve">
|
<data name="Tabs_Presets_FreeCompany" xml:space="preserve">
|
||||||
<value>Free Company</value>
|
<value>Free Company</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -528,6 +528,9 @@
|
|||||||
</data>
|
</data>
|
||||||
|
|
||||||
<!-- Hellion Chat — Default tab presets (channel-themed) -->
|
<!-- Hellion Chat — Default tab presets (channel-themed) -->
|
||||||
|
<data name="Tabs_Presets_System" xml:space="preserve">
|
||||||
|
<value>System</value>
|
||||||
|
</data>
|
||||||
<data name="Tabs_Presets_FreeCompany" xml:space="preserve">
|
<data name="Tabs_Presets_FreeCompany" xml:space="preserve">
|
||||||
<value>Free Company</value>
|
<value>Free Company</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
+34
-24
@@ -14,22 +14,17 @@ public static class TabsUtil
|
|||||||
return channels;
|
return channels;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hellion-tuned General preset. Differs from upstream Vanilla:
|
// Hellion-tuned General preset. The pure player-talk catch-all plus
|
||||||
// Tells (own tab), emotes, novice network and the FC/PvP announcement
|
// the active-gameplay event streams (loot, crafting, gathering, NPC
|
||||||
// streams move into their dedicated themed tabs so the General tab
|
// dialogue, party-finder pings). Pure technical noise (System, Error,
|
||||||
// is the public-chat catch-all that the maintainer actually runs in
|
// Login/Logout spam, retainer sales, alarms, sign messages) lives in
|
||||||
// production. NpcDialogue stays here because the user reads it
|
// the dedicated System tab so it doesn't bury actual conversation.
|
||||||
// alongside system messages instead of in a separate Event tab.
|
|
||||||
public static Tab VanillaGeneral => new()
|
public static Tab VanillaGeneral => new()
|
||||||
{
|
{
|
||||||
Name = Language.Tabs_Presets_General,
|
Name = Language.Tabs_Presets_General,
|
||||||
SelectedChannels = new Dictionary<ChatType, (ChatSource, ChatSource)>
|
SelectedChannels = new Dictionary<ChatType, (ChatSource, ChatSource)>
|
||||||
{
|
{
|
||||||
// Special
|
// Player chat
|
||||||
[ChatType.Debug] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.Urgent] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.Notice] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
// Chat
|
|
||||||
[ChatType.Say] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Say] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Yell] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Yell] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Shout] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Shout] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
@@ -54,25 +49,13 @@ public static class TabsUtil
|
|||||||
[ChatType.Linkshell6] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Linkshell6] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Linkshell7] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Linkshell7] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Linkshell8] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Linkshell8] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
// Announcements
|
// Active-gameplay events
|
||||||
[ChatType.System] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.Error] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.Echo] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.NpcAnnouncement] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.NpcDialogue] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.NpcDialogue] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.FreeCompanyLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.PvpTeamLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.RetainerSale] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.LootNotice] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.LootNotice] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Progress] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.LootRoll] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.LootRoll] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Crafting] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.Crafting] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.Gathering] = (ChatSource.LocalPlayer, ChatSource.LocalPlayer),
|
[ChatType.Gathering] = (ChatSource.LocalPlayer, ChatSource.LocalPlayer),
|
||||||
[ChatType.PeriodicRecruitmentNotification] = (ChatSourceExt.All, ChatSourceExt.All),
|
[ChatType.PeriodicRecruitmentNotification] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
[ChatType.RandomNumber] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.Orchestrion] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.MessageBook] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
[ChatType.Alarm] = (ChatSourceExt.All, ChatSourceExt.All),
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -139,6 +122,33 @@ public static class TabsUtil
|
|||||||
Channel = InputChannel.NoviceNetwork,
|
Channel = InputChannel.NoviceNetwork,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static Tab HellionSystem => new()
|
||||||
|
{
|
||||||
|
Name = HellionStrings.Tabs_Presets_System,
|
||||||
|
SelectedChannels = new Dictionary<ChatType, (ChatSource, ChatSource)>
|
||||||
|
{
|
||||||
|
[ChatType.Debug] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Urgent] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Notice] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.System] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Error] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Echo] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.GatheringSystem] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.NoviceNetworkSystem] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.NpcAnnouncement] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.FreeCompanyLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.PvpTeamLoginLogout] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.RetainerSale] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Progress] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.RandomNumber] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Orchestrion] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.MessageBook] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Alarm] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.Sign] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
[ChatType.GlamourNotifications] = (ChatSourceExt.All, ChatSourceExt.All),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
public static Tab HellionLinkshell => new()
|
public static Tab HellionLinkshell => new()
|
||||||
{
|
{
|
||||||
Name = HellionStrings.Tabs_Presets_Linkshell,
|
Name = HellionStrings.Tabs_Presets_Linkshell,
|
||||||
|
|||||||
Reference in New Issue
Block a user