Is someone on High Sierra with Retina display?

Mac OSX specific forum
User avatar
Kukulkan
Addict
Addict
Posts: 1352
Joined: Mon Jun 06, 2005 2:35 pm
Location: germany
Contact:

Is someone on High Sierra with Retina display?

Post by Kukulkan »

I provide a PB developed program for MacOS since years. It does not scale for Retina, so it was marked as "no scale" and it was fine for me and the users.

But with High Sierra, people start to complain if they have Retina display. The scaling is completely broken there. I have MacOS running on a VM and there I can simulate Retina display (High DPI) in some way. But if I run the PB IDE there and start the program, the Window stays invisible (only a border comes up if I select "Show all Windows" in the tool bar for the program). The compiled app seems to come up but with bad scaling (maybe because of my own Info.plist). I tried playing with NSHighResolutionCapable but with no success (see below for my original Info.plist).

Anyone else having issues like that on High Sierra? I get more pressure as the Apple people seem to upgrade fast. I found no solution to even test it here without buying a Mac with Retina display (without any other use for it).

This is the current Info.plist content:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleIdentifier</key>
	<string>com.regify.client.mac</string>
	<key>CFBundleName</key>
	<string>regify client</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleExecutable</key>
	<string>regify client</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleDisplayName</key>
	<string>regify client</string>
	<key>CFBundleSignature</key>
	<string>PURE</string>
	<key>CFBundleVersion</key>
	<string>0.1</string>
	<key>CSResourcesFileMapped</key>
	<true/>
	<key>CFBundleIconFile</key>
	<string>regify_128x128.icns</string>
	<key>CFBundleLocalizations</key>
	<array>
		<string>de</string>
		<string>en</string>
		<string>fr</string>
	</array>
	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>application/vnd.regify</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>regify message</string>
			<key>LSHandlerRank</key>
			<string>Default</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleTypeIconFile</key>
			<string>regify_doc.icns</string>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>rgf</string>
				<string>rif</string>
				<string>rgk</string>
			</array>
			<key>CFBundleTypeIconFiles</key>
			<array>
				<string>regify_doc.icns</string>
			</array>
		</dict>
	</array>
</dict>
</plist>
User avatar
Kukulkan
Addict
Addict
Posts: 1352
Joined: Mon Jun 06, 2005 2:35 pm
Location: germany
Contact:

Re: Is someone on High Sierra with Retina display?

Post by Kukulkan »

For me it looks like MacOS High Sierra started to think that all Apps are Retina capable by default.

If NSHighResolutionCapable is ignored, how to tell MacOS that it isn't?

[update]
I found that the value of NSHighResolutionCapable is still affecting the display of the app. But the following code, asking about cocoa NSDeviceResolution, now returning the new DPI instead of the non scaled one:

Code: Select all

Protected dpi.NSSize
Protected screen.i = CocoaMessage(0, 0, "NSScreen mainScreen")
Protected description.i = CocoaMessage(0, screen, "deviceDescription")
CocoaMessage(@dpi, CocoaMessage(0, description, "objectForKey:$", @"NSDeviceResolution"), "sizeValue")
Debug dpi\width
In older MacOS versions it returned 72, but on High Sierra it returns 144, even if NSHighResolutionCapable is set to false.
[/update]
Rinzwind
Enthusiast
Enthusiast
Posts: 636
Joined: Wed Mar 11, 2009 4:06 pm
Location: NL

Re: Is someone on High Sierra with Retina display?

Post by Rinzwind »

The real issue here is that PB is NOT hi-dpi ready while its gadgets should be already long time ago ;)
Have to implement hacks to draw stuff correctly. I hope the next release will address this on both Windows and Mac OS.
Post Reply