Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retina Support on OS X #97

Closed
kelchm opened this issue Jan 14, 2017 · 18 comments
Closed

Retina Support on OS X #97

kelchm opened this issue Jan 14, 2017 · 18 comments
Labels
enhancement improve an existing feature or functionality in the software macOS

Comments

@kelchm
Copy link

kelchm commented Jan 14, 2017

Version

1.31.6-prusa3d

Operating system type + version

OS X 10.12

Behavior

Slic3r does not render correctly on retina displays under OS X. In particular, all text is pixelated/blurry. (Please view screenshot at 100%)
screen shot 2017-01-14 at 5 39 38 pm

Based on some preliminary research, wxwidgets should be able to support retina displays under OS X. Unfortunately simply editing the info.plist for the application did not solve the issue.

I plan to dig into this to see if I can get to the bottom of the issue and will send a pull request if I am successful. If anyone has any related information to share I would be grateful.

@kelchm
Copy link
Author

kelchm commented Jan 14, 2017

Refs slic3r/Slic3r#2888

It seems that some have had luck with 'Retinizer' for the text, though this has not worked for me so far.

@kelchm
Copy link
Author

kelchm commented Jan 14, 2017

This was simpler than expected.

The application info.plist did not have a valid CFBundleIdentifier. Removing or setting the value for CFBundleIdentifier to any string and adding a NSPrincipalClass allows the text to be rendered in retina resolution. The icons are still pixelated simply because the source images must be scaled. Unfortunately the Silk icons are not available in a higher resolution.

info.plist

<?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>CFBundleExecutable</key>
  <string>Slic3r</string>
  <key>CFBundleGetInfoString</key>
  <string>Slic3r Copyright (C) 2011-2016 Alessandro Ranellucci, (C) 2016 Vojtech Bubnik, Prusa Reseach</string>
  <key>CFBundleIconFile</key>
  <string>Slic3r.icns</string>
  <key>CFBundleName</key>
  <string>Slic3r</string>
  <key>CFBundleShortVersionString</key>
  <string>Slic3r 1.31.6-prusa3d</string>
  <key>CFBundleIdentifier</key>
  <string></string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundlePackageType</key>
  <string>APPL</string>
  <key>CFBundleSignature</key>
  <string>????</string>
  <key>CFBundleVersion</key>
  <string>1.31.6-prusa3d</string>
  <key>CGDisableCoalescedUpdates</key>
  <false/>
  <key>NSPrincipalClass</key>
  <string>NSApplication</string>
</dict>
</plist>

Is there anything that can be contributed to ensure that the future application bundles are packaged correctly?

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 27, 2017

Thanks a lot! I will review it and integrate it into the following release.

@litris
Copy link

litris commented Jan 31, 2017

It does not work for me.

I pasted the same text as you show and the text is pixelated in an imac 27 "5k late 2015.

@happydasch
Copy link

Fixed this issue by adding the following to info.plist:

<key>NSHighResolutionCapable</key>
<true/>

Complete content of info.plist:

<?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>CFBundleExecutable</key>
  <string>Slic3r</string>
  <key>CFBundleGetInfoString</key>
  <string>Slic3r Copyright (C) 2011-2016 Alessandro Ranellucci, (C) 2016 Vojtech Bubnik, Prusa Reseach</string>
  <key>CFBundleIconFile</key>
  <string>Slic3r.icns</string>
  <key>CFBundleName</key>
  <string>Slic3r</string>
  <key>CFBundleShortVersionString</key>
  <string>Slic3r 1.31.6-prusa3d</string>
  <key>CFBundleIdentifier</key>
  <string></string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundlePackageType</key>
  <string>APPL</string>
  <key>CFBundleSignature</key>
  <string>????</string>
  <key>CFBundleVersion</key>
  <string>1.31.6-prusa3d</string>
  <key>CGDisableCoalescedUpdates</key>
  <false/>
  <key>NSPrincipalClass</key>
  <string>NSApplication</string>
  <key>NSHighResolutionCapable</key>
  <true/>
</dict>
</plist>

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 9, 2017

The info.plist will be updated in the next official OSX build.

However, the anti-aliasing and Retina support for the 3D previews is more difficult. The anti-aliasing is a question of rebuilding the wxWidgets on the build server, but the Retina support is a nightmare, see the following links:

https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Introduction/Introduction.html
https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/CapturingScreenContents/CapturingScreenContents.html
https://forums.wxwidgets.org/viewtopic.php?t=36684
http://stackoverflow.com/questions/12821144/how-to-draw-text-in-opengl-on-mac-os-with-retina-display

@bubnikv bubnikv added the enhancement improve an existing feature or functionality in the software label Feb 9, 2017
@Swiftnesses
Copy link

It would be awesome if this could be done, Slic3r is awesome, but it looks so 1990 on a retina screen :(

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 9, 2017 via email

@Swiftnesses
Copy link

Hi @bubnikv, including icons?

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 9, 2017 via email

@ArnieX
Copy link

ArnieX commented Mar 9, 2017

Does it make sense before PrusaControl replaces slic3r? If so, how many icons are there? I might try to redraw them if it is not 100+ icons :D

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 9, 2017 via email

@ArnieX
Copy link

ArnieX commented Mar 9, 2017

OK then I will have a look how many icons are there and will think about it.

Would flat icons be preffered?

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 9, 2017 via email

@ArnieX
Copy link

ArnieX commented Mar 23, 2017

Just a quick update. Author of the original icon set isn't offering hi-res version and is himself referring to Fugue Icon Set http://p.yusukekamiyamane.com which looks promising but I haven't had a chance to have a look yet.

@Swiftnesses
Copy link

They are truly shocking icons, 1980's? There are a ton of decent vector image sets out there, given how many icons are present in Slic3r, it really can't be a huge job to replace the assets, it would really give the UI a nice makeover too.

@ArnieX
Copy link

ArnieX commented Mar 23, 2017

Well I think Slic3r is over kill when it comes to icons. There are icons everywhere for almost any feature. There are many sets but many aren't free, and if they are free they always miss some important icons. It seem that it would be great to draw them from scratch just for Slic3r but that is something I can't do unfortunately.

Note: There are 64 icons in Slic3r

@Swiftnesses
Copy link

Indeed, perhaps icon overdrive. That said, given the lack of time, a decent set of licensed icons could be had for next to nothing and would make the job far easier.

@bubnikv bubnikv added the macOS label Mar 23, 2017
bubnikv pushed a commit that referenced this issue Jan 31, 2023
load of style stored in 3mf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement improve an existing feature or functionality in the software macOS
Projects
None yet
Development

No branches or pull requests

6 participants