» »

Skaliranje aplikacij na High DPI ekranih

Skaliranje aplikacij na High DPI ekranih

dope1337 ::

Pozdravljeni

Že slabo leto si lastim Lenovo Yoga 2 Pro, ki ima High DPI(3200x1800) 13' ekran. Pri nekaterih namiznih aplikacijah (vsi Adobe-ovi produkti, vlc, itn.) se zgodi, da le-ta ne zna skalirat svojega vmesnika kot se reče ter tako naredi sama sebe neuporabno.

No ... končno sem (skoraj) prišel do rešitve, ki se nahaja na TEM BLOGU

Stvar je v tem, da je treba v registru najprej povedati OSu, da naj pri dotični aplikaciji pogleda v externi manifest za podatek, ali se dotična aplikacija zaveda, da se nahaja v "High DPI okolju". Ker je odgovor pač napačen, dobimo mikroskopski UI.

Nato je treba manifest spisati, ki izgleda nekako takole:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly> 


Upam, da bo še komu prišlo tole prav.

Če pa ima kdo še kakšno bolj generalno rešitev, pa lepo prosim. Ker na ta način, moraš za vsak program, ki se ni sposoben skalirat dopolniti oz. spisati manifest.
"Everybody is a genius. But if you judge a fish by its ability to climb a tree
it will live its whole life believing that it is stupid."
-Albert Einstein
  • spremenilo: dope1337 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Content-Security-Policy problem

Oddelek: Izdelava spletišč
51526 (1343) poweroff
»

Android notification

Oddelek: Programiranje
112348 (2207) mihy11
»

Locljivost na laptopu

Oddelek: Zvok in slika
142255 (1867) fujtajksel
»

[Android] Program se sesuje pri zagonu

Oddelek: Programiranje
7854 (663) Xpie
»

[Java]Problem z zaganjanjem aplikacije na sterzniku

Oddelek: Programiranje
121719 (1528) KernelPanic

Več podobnih tem