From 5403ffd91ad82a5b13f1090cb8d3ebdb6edbe4f5 Mon Sep 17 00:00:00 2001 From: Ecys <73040912+Eccys@users.noreply.github.com> Date: Sat, 24 Oct 2026 06:05:57 +0000 Subject: [PATCH] fix(gui): fix macOS GUI scale ratio and avoid double-scaling minWidth in DefaultSettingsWidgetFactory --- .../meteorclient/gui/DefaultSettingsWidgetFactory.java | 4 ++-- .../meteorclient/gui/themes/meteor/MeteorGuiTheme.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/gui/DefaultSettingsWidgetFactory.java b/src/main/java/meteordevelopment/meteorclient/gui/DefaultSettingsWidgetFactory.java index 4e116638bd4..edb08b108ae 100644 --- a/src/main/java/meteordevelopment/meteorclient/gui/DefaultSettingsWidgetFactory.java +++ b/src/main/java/meteordevelopment/meteorclient/gui/DefaultSettingsWidgetFactory.java @@ -94,7 +94,7 @@ public WWidget create(GuiTheme theme, Settings settings, String filter) { // Calculate width and set it as minimum width list.calculateSize(); - list.minWidth = list.width; + list.minWidth = list.width / theme.scale(1); // Remove hidden settings for (RemoveInfo removeInfo : removeInfoList) { @@ -207,7 +207,7 @@ private void doubleW(WTable table, DoubleSetting setting) { private void stringW(WTable table, StringSetting setting) { CharFilter filter = setting.filter == null ? (_, _) -> true : setting.filter; Cell cell = table.add(theme.textBox(setting.get(), setting.placeholder, filter, setting.renderer)); - if (setting.wide) cell.minWidth(Utils.getWindowWidth() - Utils.getWindowWidth() / 4.0); + if (setting.wide) cell.minWidth((Utils.getWindowWidth() - Utils.getWindowWidth() / 4.0) / theme.scale(1)); WTextBox textBox = cell.expandX().widget(); textBox.action = () -> setting.set(textBox.get()); diff --git a/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java b/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java index 02a92b2c21b..34b29c50a63 100644 --- a/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java +++ b/src/main/java/meteordevelopment/meteorclient/gui/themes/meteor/MeteorGuiTheme.java @@ -376,7 +376,7 @@ public double scale(double value) { double scaled = value * scale.get(); if (SystemUtils.IS_OS_MAC) { - scaled /= (double) mc.getWindow().getWidth() / mc.getWindow().getWidth(); + scaled /= (double) mc.getWindow().getScreenWidth() / mc.getWindow().getWidth(); } return scaled;