diff --git a/Dalamud/Game/Gui/Dtr/DtrBar.cs b/Dalamud/Game/Gui/Dtr/DtrBar.cs
index 5663d0748..e5de6b2bd 100644
--- a/Dalamud/Game/Gui/Dtr/DtrBar.cs
+++ b/Dalamud/Game/Gui/Dtr/DtrBar.cs
@@ -397,7 +397,15 @@ internal sealed unsafe class DtrBar : IInternalDisposableService, IDtrBar
ushort w = 0, h = 0;
node->GetTextDrawSize(&w, &h, node->NodeText.StringPtr);
- node->SetWidth(w);
+
+ if (data.MinimumWidth > 0)
+ {
+ node->SetWidth(Math.Max(data.MinimumWidth, w));
+ }
+ else
+ {
+ node->SetWidth(w);
+ }
}
var elementWidth = data.TextNode->Width + this.configuration.DtrSpacing;
diff --git a/Dalamud/Game/Gui/Dtr/DtrBarEntry.cs b/Dalamud/Game/Gui/Dtr/DtrBarEntry.cs
index e0bd8fd49..919ba87dd 100644
--- a/Dalamud/Game/Gui/Dtr/DtrBarEntry.cs
+++ b/Dalamud/Game/Gui/Dtr/DtrBarEntry.cs
@@ -76,6 +76,11 @@ public interface IDtrBarEntry : IReadOnlyDtrBarEntry
///
public new bool Shown { get; set; }
+ ///
+ /// Gets or sets a value specifying the requested minimum width to make this entry.
+ ///
+ public new ushort MinimumWidth { get; set; }
+
///
/// Gets or sets an action to be invoked when the user clicks on the dtr entry.
///
@@ -128,6 +133,25 @@ internal sealed unsafe class DtrBarEntry : IDisposable, IDtrBarEntry
///
public SeString? Tooltip { get; set; }
+ ///
+ public ushort MinimumWidth
+ {
+ get;
+ set
+ {
+ field = value;
+ if (this.TextNode is not null)
+ {
+ if (this.TextNode->GetWidth() < value)
+ {
+ this.TextNode->SetWidth(value);
+ }
+ }
+
+ this.Dirty = true;
+ }
+ }
+
///
public Action? OnClick { get; set; }