Page 1 of 1

Will oXygen be updated for MacBook Pro Retina?

Posted: Mon Jun 18, 2012 5:27 am
by joewiz
Hi all,

I'm considering purchasing one of the new MacBook Pro with Retina laptops. I understand that apps have to be updated in order to take advantage of the retina display; apps that aren't yet updated will look jagged (e.g., see this article about Chrome http://www.slashgear.com/chrome-gets-mb ... -14233958/). Will oXygen XML Editor be updated as well? If so, is there a timeline for this update?

Thanks,
Joe

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Mon Jun 18, 2012 7:38 pm
by adrian
Hello,

Currently (v13.2), Oxygen does not have explicit support for Retina (high DPI) screens. Fortunately Oxygen is a Java application and the Java virtual machine from Apple is HiDPI aware.

We have just tested Oxygen in HiDPI mode and all the text components and editors look great, but the icons and view title bars are blurry (low resolution). The contrast in clarity between the text and icons is a little odd, but it's definitely usable.

For v13.2 and earlier it seems the app will start in low res mode when launched with the .app (e.g. Oxygen.app), but it will run in the correct HiDPI mode if launched with the command line launcher: oxygenMac.sh (or authorMac.sh or developerMac.sh).

I have logged this to our issue tracking tool. We will post on this thread any updates of the status for this feature request.

Regards,
Adrian

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Mon Jun 18, 2012 8:01 pm
by joewiz
Excellent news. Thank you very much, Adrian. I look forward to the day when oXygen.app launches natively in HiDPI mode and has updated artwork to match. In the meantime, your tip to launch with the command line is going to come in very handy.

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Tue Jun 19, 2012 5:12 pm
by adrian
Hi again,

For the .app in v13.2 and earlier there's a simple patch that you can apply to allow HiDPI mode. I would suggest duplicating the .app and making the changes in the duplicate. This also works around the application caching problem.

In Finder Ctrl+click(or right click) on the Oxygen application (Oxygen.app) and from the pop-up menu select Show Package Contents. Then navigate to the Contents directory and open for editing the Info.plist file. You can open it with the Property List Editor or with TextEdit and add a new key named NSPrincipalClass with the string value NSApplication.

In TextEdit you should add the new property at the end of the file, just above the last dict end tag (</dict>).
e.g.

Code: Select all


...
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
This property will be set by default in the final version of Oxygen v14.0, even though the artwork has not yet been updated. This means it will still look the same as v13.2, but at least the HiDPI mode will be available out-of-the-box.

Regards,
Adrian

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Tue Jun 19, 2012 5:17 pm
by joewiz
Wonderful news! Thanks again, Adrian! You guys are the best.

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Mon May 11, 2015 7:25 am
by juicejuice
I noticed that oXygen 17.0 now has completely overhauled icons and support for Retina/HiDPI. Unfortunately I found a bug in the implementation of this feature (tested on OS X 10.10.3 Yosemite).

Background: I have a Retina Macbook Pro 13" with two external screens (regular 1080p non-Retina screens). When no screens are attached, or the primary screen is set to the Retina Macbook screen, everything works as expected. oXygen launches in Retina mode and will gracefully re-scale when moved between Retina and non-Retina displays.

Problem: When my external non-Retina screen is set as primary display, oXygen loads and displays with low-resolution icons as expected. However if you then drag the oXygen window to a Retina screen the low-res icons remain.

Expected: When dragging between low-res and Retina screens, oXygen should re-scale with the appropriate icon set according to screen density. Note that this behaviour does work correctly if the primary screen is set to a Retina screen, but not when the primary screen is a non-Retina screen. All other Mac apps works correctly in this regard.

I suspect oXygen is simply selecting the icon set at launch time based on the screen the app is launching on, rather than looking at all screens to see if it is possible the app may be moved to a Retina display at a later point in time.

To reproduce this behaviour and set the "primary screen" on a Mac, do the following:
1. Plug in a non-Retina screen
2. Go to System Preferences -> Displays
3. Click "Arrangement" tab
4. Drag the little white menu bar across to the non-Retina screen
5. Launch oXygen 17.0 (appears on non-Retina screen)
6. Drag oXygen window to Retina screen and note that the icons are still pixellated

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Mon May 11, 2015 11:57 am
by adrian
Hello,
juicejuice wrote:I suspect oXygen is simply selecting the icon set at launch time based on the screen the app is launching on, rather than looking at all screens to see if it is possible the app may be moved to a Retina display at a later point in time.
You are correct in that Oxygen selects the icon set (and all other resources) at launch time depending on the Retina detection. Unfortunately due to its architecture it cannot switch dynamically between Retina and non-Retina resources.

There's also the fact that Retina resources look slightly off on a non-Retina display (due to software down-scaling), so the decision was made to use the primary display as the indicator for the Retina detection.

I've logged a request on our issue tracking tool to provide a way to ignore the detection and force either mode (Retina or normal) depending on the user preference.

Regards,
Adrian

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Tue May 12, 2015 1:11 am
by juicejuice
adrian wrote:Unfortunately due to its architecture it cannot switch dynamically between Retina and non-Retina resources.
I'm probably misunderstanding, but just in case, I can confirm that if you launch oXygen on the Retina display it will correctly switch between Retina and non-Retina resources when you move the application between screens. It is only when oXygen launches on a non-Retina display that it sticks with low-res icons.
adrian wrote:I've logged a request on our issue tracking tool to provide a way to ignore the detection and force either mode (Retina or normal) depending on the user preference.
This suggestion would work fine for my situation.

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Tue May 12, 2015 10:54 am
by adrian
Hi,
juicejuice wrote:I'm probably misunderstanding, but just in case, I can confirm that if you launch oXygen on the Retina display it will correctly switch between Retina and non-Retina resources when you move the application between screens. It is only when oXygen launches on a non-Retina display that it sticks with low-res icons.
Actually, if you launch oXygen on the Retina display, it loads the Retina resources (high-res icons) and sticks with those. When you move the application between screens, it doesn't actually switch back and forth between Retina and non-Retina resources, it sticks with the ones loaded at startup.
So, when started with the Retina resources (high-res icons), if moved to a non-Retina display, it will down-scale the resources (image resolution is halved). The down-scaling process causes some artifacts (jagged edges). This is what I was referring to when I said that they look "slightly off".

Regards,
Adrian

Re: Will oXygen be updated for MacBook Pro Retina?

Posted: Tue May 12, 2015 12:03 pm
by juicejuice
OK, I understand now. What you describe is consistent with the behaviour I reported. Thanks!