<div dir="ltr">Hi Tobias,<div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 15, 2017 at 6:50 AM, Tobias Pape <span dir="ltr"><<a href="mailto:Das.Linux@gmx.de" target="_blank">Das.Linux@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
<br>
> On 13.06.2017, at 16:06, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
><br>
><br>
><br>
><br>
>> On Jun 13, 2017, at 4:38 AM, Tobias Pape <<a href="mailto:Das.Linux@gmx.de">Das.Linux@gmx.de</a>> wrote:<br>
>><br>
>><br>
>> Any objections I merge this into Cog?<br>
><br>
> Provided the changes are optional so that the default behaviour is unchanged then no objections from me.<br>
<br>
</span>That's a stretch… So here's the thing:<br>
<br>
- Opting in to highdpi ist typically necessary very early in a process startup<br>
  (at least when you want to stay platform-independend)<br></blockquote><div><br></div><div>Which is why on Mac we can use a setting from Info.plist.  Windows is already covered.  When the issue becomes relevant in Linux we could use</div><div>- an environment variable</div><div>- an ini file, e.g. in the lib dir</div><div>- a command line switch set in the launch script</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
- For our vm that means, the image cannot simply use a primitive to say, hey I'm high-dpi ready<br>
  in order to change that later.<br></blockquote><div><br></div><div>Understood.  That's not what I'm talking about.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
- We _can_ typically control the behavior via vm-specific files (Info.plist/ .exe.manifest)<br>
- So, to avoid surprises because the image may not yet react to highdpi or dpi changes,<br>
  the default vms should come with high-dpi off.<br>
- but When we add the code soon-ish, we could switch-on by default for the next image format change that would<br>
  nevertheless need a new vm. This would be *drummroll* sista.<br>
<br>
So what I propose is:<br>
- Trunk receives code updates to handle high-dpi changes very soon (i got stuff in the pipeline but not yet fully ready)<br>
- Cog remains low-dpi (except people opt *in* the _vm_ via files)<br>
- Sista becomes high-dpi-aware (except people opt *out* the _vm_ via files)<br></blockquote><div><br></div><div>All of that is fine policy, but none of it addresses the implementation, which must</div><div>- not change the default behavior</div><div>- hence select hide via some suitable mechanism.  On Mac that means a setting in Info.plist.  Hell, there might even be a standard Mac option.  e.g. from <a href="http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/">http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/</a></div><div><br></div><div>    Enabling high-dpi for OS X Applications</div><div><br></div><div>    High DPI mode is controlled by the following keys in the Info.Plist file:</div><div><br></div><div>    <key>NSPrincipalClass</key></div><div>    <string>NSApplication</string></div><div>    <key>NSHighResolutionCapable</key></div><div>    <string>True</string> </div><div><br></div><div>So please, let's make sure that the VM continues to function unchanged for existing images.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
This would need only few changes to the code base.<br>
<br>
Eliot, what's newspeak's stance on high-dpi?<br></blockquote><div><br></div><div>Don't know.  I'm sure they'll be happy to follow our lead.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
Best regards<br>
<span class="gmail-HOEnZb"><font color="#888888">        -Tobias<br>
</font></span><div class="gmail-HOEnZb"><div class="gmail-h5"><br>
<br>
<br>
><br>
>><br>
>> Adds High-dpi for windows and mac.<br>
>><br>
>> Best regards<br>
>>   -Tobias<br>
>><br>
>><br>
>>> On 13.06.2017, at 10:50, GitHub <<a href="mailto:noreply@github.com">noreply@github.com</a>> wrote:<br>
>>><br>
>> […]<br>
>>> Log Message:<br>
>>> -----------<br>
>>> Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2<br>
>>><br>
>>> * origin/Cog: (61 commits)<br>
>>> CogVM source as per VMMaker.oscog-eem.2242<br>
>>> CogVm source as per VMMaker.oscog-eem.2241<br>
>>> CogVM source as per VMMaker.oscog-eem.2240<br>
>>> CogVM source as per VMMaker.oscog-eem.2237<br>
>>> Fix regression in recent system attribute 1002 (OS Version) change on Mac OS X. Answering e.g. 10.10.5 breaks everyting that uses Smalltalk osVerison asNumber. So answer e.g. 1010.5 insteads so that Smalltalk osVerison asNumber = 1010. Typical image code looks like Smalltalk osVerison asNumber >= 1000 to identify Mac OS X over MacOS 9 et al.<br>
>>> cosmetic: fix weird alignment<br>
>>> Fail primitiveFileOpenNew with PrimErrInappropriate if file already exists<br>
>>> added a flag pointer parameter to sqFileOpenNew() for failure being caused by the file already existing<br>
>>> Make recent FilePlugin changes MSVC compatible<br>
>>> Fix plugin compilation for Win64 PharoVM<br>
>>> Fix int */sqInt * mismatch for Win64 FilePlugin<br>
>>> Regenerate Unix OS ProcessPlugin from oscog-dtl.56<br>
>>> CogVM source as per VMMaker.oscog-eem.2232<br>
>>> Use the NSProcessInfo API to get an accurate OS verison string on Mac OS X.<br>
>>> CogVM source as per VMMaker.oscog-eem.2229<br>
>>> CogVm source as per VMMaker.oscog-eem.2228<br>
>>> Make pharo deploy work for both WIN64 stack and cog<br>
>>> Build Win64 squeak.cog.spur FFI & Alien plugins<br>
>>> Add Win64 pharo.cog.spur configuration<br>
>>> Win32OSProcessPlugin MUST be regenerated from latest source<br>
>>> ...<br>
>>><br>
>>><br>
>>> Compare: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4181d8e8872f...8044775ccbb1" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/compare/4181d8e8872f...<wbr>8044775ccbb1</a><br>
>><br>
>><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>