diff --git a/Dalamud/Interface/InterfaceManager.cs b/Dalamud/Interface/InterfaceManager.cs
index 4d24cd8b8..3e34a16ae 100644
--- a/Dalamud/Interface/InterfaceManager.cs
+++ b/Dalamud/Interface/InterfaceManager.cs
@@ -1,13 +1,9 @@
using System;
using System.ComponentModel;
-using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Numerics;
using System.Runtime.InteropServices;
using System.Text;
-using System.Threading;
-using CheapLoc;
using Dalamud.Game;
using Dalamud.Game.Internal.DXGI;
using Dalamud.Hooking;
diff --git a/Dalamud/Interface/UiBuilder.cs b/Dalamud/Interface/UiBuilder.cs
index cd08cfb02..5ecfbd101 100644
--- a/Dalamud/Interface/UiBuilder.cs
+++ b/Dalamud/Interface/UiBuilder.cs
@@ -35,10 +35,15 @@ namespace Dalamud.Interface
public event RawDX11Scene.BuildUIDelegate OnBuildUi;
///
- /// Choose if this plugin should hide its UI automatically when the whole game hides its UI (e.g. with Scroll Lock).
+ /// Choose if this plugin should hide its UI automatically when the game's UI is hidden.
///
public bool DisableAutomaticUiHide { get; set; } = false;
+ ///
+ /// Choose if this plugin should hide its UI automatically when the user toggles the UI.
+ ///
+ public bool DisableUserUiHide { get; set; } = false;
+
///
/// Choose if this plugin should hide its UI automatically during cutscenes.
///
@@ -120,7 +125,7 @@ namespace Dalamud.Interface
/// Any ImFontPtr objects that you store can be invalidated when fonts are rebuilt
/// (at any time), so you should both reload your custom fonts and restore those
/// pointers inside this handler.
- /// PLEASE remove this handler inside Dipose, or when you no longer need your fonts!
+ /// PLEASE remove this handler inside Dispose, or when you no longer need your fonts!
///
public Action OnBuildFonts
{
@@ -148,9 +153,9 @@ namespace Dalamud.Interface
private void OnDraw() {
- if (this.dalamud.Framework.Gui.GameUiHidden && this.dalamud.Configuration.ToggleUiHide && !DisableAutomaticUiHide ||
- CutsceneActive && this.dalamud.Configuration.ToggleUiHideDuringCutscenes && !DisableCutsceneUiHide ||
- GposeActive && this.dalamud.Configuration.ToggleUiHideDuringGpose && !DisableGposeUiHide)
+ if (this.dalamud.Framework.Gui.GameUiHidden && this.dalamud.Configuration.ToggleUiHide && !(DisableUserUiHide || DisableAutomaticUiHide) ||
+ CutsceneActive && this.dalamud.Configuration.ToggleUiHideDuringCutscenes && !(DisableCutsceneUiHide || DisableAutomaticUiHide) ||
+ GposeActive && this.dalamud.Configuration.ToggleUiHideDuringGpose && !(DisableGposeUiHide || DisableAutomaticUiHide))
return;
ImGui.PushID(this.namespaceName);