From 6e743dad6db3d5ed39c3d216c377f6b265aa0dce Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Tue, 19 May 2020 18:15:01 +0100 Subject: [PATCH] JAL-3609 system properties to force a scale, or automatically choose based on OS, Screen DPI and Screen height in pixels --- getdown/lib/getdown-core.jar | Bin 150243 -> 150813 bytes getdown/lib/getdown-launcher-local.jar | Bin 907942 -> 908512 bytes getdown/lib/getdown-launcher.jar | Bin 907949 -> 908519 bytes .../src/main/java/jalview/bin/HiDPISetting.java | 98 ++++++++++++++++---- j11lib/getdown-core.jar | Bin 150243 -> 150813 bytes j8lib/getdown-core.jar | Bin 150243 -> 150813 bytes src/jalview/bin/HiDPISetting.java | 98 ++++++++++++++++---- 7 files changed, 160 insertions(+), 36 deletions(-) diff --git a/getdown/lib/getdown-core.jar b/getdown/lib/getdown-core.jar index b444c96ba866afbd4c0f2289f30298efeb976db8..8cc0fbae07276ac5b162980691737bb0adf3fb7e 100644 GIT binary patch delta 5874 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 Ccfr{J diff --git a/getdown/lib/getdown-launcher-local.jar b/getdown/lib/getdown-launcher-local.jar index 8b1025dd40796f33a3007e77a6636ae423cd741a..9b00b2d27a9e42c84013c63a5393bb94a71da476 100644 GIT binary patch delta 35229 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 delta 34633 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 diff --git a/getdown/lib/getdown-launcher.jar b/getdown/lib/getdown-launcher.jar index d4ca75a3866aaa07fd3aa015c98bb183a9ae33d4..13fa5f805380f2e293bf3af01e65d073aec20fe0 100644 GIT binary patch delta 35059 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�I#Hb0jAn=%}O$(fW?bXnSI=5 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 delta 34888 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 -1; @@ -29,34 +41,84 @@ public class HiDPISetting .indexOf("linux") > -1; isWindows = System.getProperty("os.name").toLowerCase() .indexOf("windows") > -1; - dpi = Toolkit.getDefaultToolkit().getScreenResolution(); - scale = dpi / hidpi + 1; + String forceHiDPISettingProperty = System .getProperty(forceHiDPISettingPropertyName); forceHiDPISetting = forceHiDPISettingProperty != null && forceHiDPISettingProperty.equalsIgnoreCase("true"); - if (doCondition()) + + int tryForceHiDPISettingScale = 0; + String forceHiDPISettingScaleProperty = System + .getProperty(forceHiDPISettingScalePropertyName); + if (forceHiDPISettingScaleProperty != null) + { + try + { + tryForceHiDPISettingScale = Integer + .parseInt(forceHiDPISettingScaleProperty); + } catch (NumberFormatException e) + { + System.err.println(forceHiDPISettingScalePropertyName + + " property give (" + forceHiDPISettingScaleProperty + + ") but not parseable as integer"); + } + } + forceHiDPISettingScale = tryForceHiDPISettingScale; + } + + private void init() + { + if (doneInit) + { + return; + } + + // try and get screen resolution + try + { + dpi = Toolkit.getDefaultToolkit().getScreenResolution(); + } catch (Throwable t) + { + System.err.println("Cannot get screen resolution"); + } + + // try and get screen size height + try + { + height = Toolkit.getDefaultToolkit().getScreenSize().height; + } catch (Throwable t) + { + System.err.println("Cannot get screen size height"); + } + + if (forceHiDPISetting && forceHiDPISettingScale > 0) + { + scale = forceHiDPISettingScale; + } + else + { + // attempt at a formula for scaling based on screen dpi and height. scale + // will be an integer >=1 + scale = Math.min(dpi / hidpiThreshold, height / tallScreenThreshold) + + 1; + } + + allowScalePropertyArg = (scale > 1 && isLinux) || forceHiDPISetting; + + if (allowScalePropertyArg) { - System.out.println("Property '" + forceHiDPISettingPropertyName + "'=" - + forceHiDPISettingProperty); System.out.println("boolean forceHiDPISetting=" + forceHiDPISetting); System.out.println("DPI detected as " + dpi + ". Scaling factor set to " + scale + "."); } - } - private static synchronized boolean doCondition() - { - return (scale > 1 && isLinux) || forceHiDPISetting; + doneInit = true; } public static synchronized String getScalePropertyArg() { // HiDPI setting. Just looking at Linux to start with. Test with Windows. - if (doCondition()) - { - return "-D" + scalePropertyName + "=" + scale; - } - return null; + return allowScalePropertyArg ? "-D" + scalePropertyName + "=" + scale + : null; } } diff --git a/j11lib/getdown-core.jar b/j11lib/getdown-core.jar index b444c96ba866afbd4c0f2289f30298efeb976db8..8cc0fbae07276ac5b162980691737bb0adf3fb7e 100644 GIT binary patch delta 5874 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 Ccfr{J diff --git a/j8lib/getdown-core.jar b/j8lib/getdown-core.jar index b444c96ba866afbd4c0f2289f30298efeb976db8..8cc0fbae07276ac5b162980691737bb0adf3fb7e 100644 GIT binary patch delta 5874 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 Ccfr{J diff --git a/src/jalview/bin/HiDPISetting.java b/src/jalview/bin/HiDPISetting.java index bea9dae..770fb27 100644 --- a/src/jalview/bin/HiDPISetting.java +++ b/src/jalview/bin/HiDPISetting.java @@ -4,11 +4,9 @@ import java.awt.Toolkit; public class HiDPISetting { - public static final int dpi; + private static final int hidpiThreshold = 130; - public static final int scale; - - private static final int hidpi = 110; + private static final int tallScreenThreshold = 1300; private static final String scalePropertyName = "sun.java2d.uiScale"; @@ -20,8 +18,22 @@ public class HiDPISetting public static final String forceHiDPISettingPropertyName = "forceHiDPISetting"; + public static final String forceHiDPISettingScalePropertyName = "forceHiDPISettingScale"; + private static final boolean forceHiDPISetting; + private static final int forceHiDPISettingScale; + + public static int dpi = 0; + + public static int height = 0; + + public static int scale = 0; + + private static boolean doneInit = false; + + private static boolean allowScalePropertyArg = false; + static { isAMac = System.getProperty("os.name").indexOf("Mac") > -1; @@ -29,34 +41,84 @@ public class HiDPISetting .indexOf("linux") > -1; isWindows = System.getProperty("os.name").toLowerCase() .indexOf("windows") > -1; - dpi = Toolkit.getDefaultToolkit().getScreenResolution(); - scale = dpi / hidpi + 1; + String forceHiDPISettingProperty = System .getProperty(forceHiDPISettingPropertyName); forceHiDPISetting = forceHiDPISettingProperty != null && forceHiDPISettingProperty.equalsIgnoreCase("true"); - if (doCondition()) + + int tryForceHiDPISettingScale = 0; + String forceHiDPISettingScaleProperty = System + .getProperty(forceHiDPISettingScalePropertyName); + if (forceHiDPISettingScaleProperty != null) + { + try + { + tryForceHiDPISettingScale = Integer + .parseInt(forceHiDPISettingScaleProperty); + } catch (NumberFormatException e) + { + System.err.println(forceHiDPISettingScalePropertyName + + " property give (" + forceHiDPISettingScaleProperty + + ") but not parseable as integer"); + } + } + forceHiDPISettingScale = tryForceHiDPISettingScale; + } + + private void init() + { + if (doneInit) + { + return; + } + + // try and get screen resolution + try + { + dpi = Toolkit.getDefaultToolkit().getScreenResolution(); + } catch (Throwable t) + { + System.err.println("Cannot get screen resolution"); + } + + // try and get screen size height + try + { + height = Toolkit.getDefaultToolkit().getScreenSize().height; + } catch (Throwable t) + { + System.err.println("Cannot get screen size height"); + } + + if (forceHiDPISetting && forceHiDPISettingScale > 0) + { + scale = forceHiDPISettingScale; + } + else + { + // attempt at a formula for scaling based on screen dpi and height. scale + // will be an integer >=1 + scale = Math.min(dpi / hidpiThreshold, height / tallScreenThreshold) + + 1; + } + + allowScalePropertyArg = (scale > 1 && isLinux) || forceHiDPISetting; + + if (allowScalePropertyArg) { - System.out.println("Property '" + forceHiDPISettingPropertyName + "'=" - + forceHiDPISettingProperty); System.out.println("boolean forceHiDPISetting=" + forceHiDPISetting); System.out.println("DPI detected as " + dpi + ". Scaling factor set to " + scale + "."); } - } - private static synchronized boolean doCondition() - { - return (scale > 1 && isLinux) || forceHiDPISetting; + doneInit = true; } public static synchronized String getScalePropertyArg() { // HiDPI setting. Just looking at Linux to start with. Test with Windows. - if (doCondition()) - { - return "-D" + scalePropertyName + "=" + scale; - } - return null; + return allowScalePropertyArg ? "-D" + scalePropertyName + "=" + scale + : null; } } -- 1.7.10.2