From bc0f1656ebda428b3289bbd375914b656fa1bf9c Mon Sep 17 00:00:00 2001 From: Anton Tarasov Date: Thu, 28 Dec 2017 17:15:50 +0300 Subject: [PATCH] IDEA-184383 Large icons since 2017.3 --- platform/util/src/com/intellij/util/ui/JBUI.java | 2 +- platform/util/src/com/intellij/util/ui/UIUtil.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/platform/util/src/com/intellij/util/ui/JBUI.java b/platform/util/src/com/intellij/util/ui/JBUI.java index 25f840cefa9b..1b6b236a7d33 100644 --- a/platform/util/src/com/intellij/util/ui/JBUI.java +++ b/platform/util/src/com/intellij/util/ui/JBUI.java @@ -221,7 +221,7 @@ public class JBUI { static { setUserScaleFactor(UIUtil.isJreHiDPIEnabled() ? 1f : SYSTEM_SCALE_FACTOR); - LOG.info("System scale factor: " + SYSTEM_SCALE_FACTOR + " (" + + LOG.info("System scale factor: " + String.format("%.02f", SYSTEM_SCALE_FACTOR) + " (" + (UIUtil.isJreHiDPIEnabled() ? "JRE-managed" : "IDE-managed") + " HiDPI)"); } diff --git a/platform/util/src/com/intellij/util/ui/UIUtil.java b/platform/util/src/com/intellij/util/ui/UIUtil.java index 846f7881ff18..35a653791d9b 100644 --- a/platform/util/src/com/intellij/util/ui/UIUtil.java +++ b/platform/util/src/com/intellij/util/ui/UIUtil.java @@ -96,6 +96,15 @@ public class UIUtil { // Applied to all JLabel instances, including subclasses. Supported in JBSDK only. UIManager.getDefaults().put("javax.swing.JLabel.userStyleSheet", UIUtil.JBHtmlEditorKit.createStyleSheet()); + + if (SystemInfo.isLinux && Toolkit.getDefaultToolkit().getDesktopProperty("gnome.Xft/DPI") != null) { + float dpi_factor = 96 / (float)72; // J2D factor + int gnome_base_font_size = 11; + DEF_SYSTEM_FONT_SIZE = gnome_base_font_size * dpi_factor; + } + else { + DEF_SYSTEM_FONT_SIZE = 12; + } } public static void decorateFrame(@NotNull JRootPane pane) { @@ -334,7 +343,7 @@ public class UIUtil { private static volatile Pair ourSystemFontData; - public static final float DEF_SYSTEM_FONT_SIZE = 12f; // TODO: consider 12 * 1.33 to compensate JDK's 72dpi font scale + public static final float DEF_SYSTEM_FONT_SIZE; @NonNls private static final String ROOT_PANE = "JRootPane.future";