[OS X] Add Retina Display support to Thunderbird [mac HiDPI]

NEW
Unassigned

Status

defect
7 years ago
Last year

People

(Reporter: Nomis101, Unassigned)

Tracking

(Depends on 3 bugs, Blocks 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments)

Reporter

Description

7 years ago
Must be similar as Bug 674373 for Firefox.

Background: Apple added support into Safari, Mail and a few other apps for new Macs with Retina display. A Retina display is a high resolution (HiDPI) display.

Documentation:
https://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Introduction/Introduction.html
Reporter

Comment 1

7 years ago
See also Bug 763918
Reporter

Updated

7 years ago
Attachment #632362 - Flags: review?(mbanner)
Comment on attachment 632362 [details] [diff] [review]
add NSPrincipalClass entry

I know I can't test this, but given FF have landed this, I think it is fine to land it for Thunderbird as well, so r=me.
Attachment #632362 - Flags: review?(mbanner) → review+
Reporter

Comment 4

7 years ago
This patch seems only to be a prerequisite, as you can read in https://bugzilla.mozilla.org/show_bug.cgi?id=674373#c28 and https://bugzilla.mozilla.org/show_bug.cgi?id=674373#c31
So, after landing this first patch, this bug seems not yet fixed (whatever will come after that, I will also try to port this in this bug).
Keywords: checkin-needed

Comment 6

7 years ago
I tried the patch (Comment 2) with Thunderbird 13.0.1 on a MacBook Pro Retina and it makes a huge improvement (in comparison to Firefox where not much changes). With the patch the text is displayed in HiHPI, although of course the icons are still pixel-doubled (I'd class that as a minor issue, requires artwork to be regenerated).
Reporter

Comment 7

7 years ago
Nice to know. :) Apart from the artwork, do you see other areas which needs some work for HiDPI?

Comment 8

7 years ago
I don't see any other areas requiring work for HiDPI. If the artwork was never upgraded I wouldn't be greatly concerned (the text was the big issue).

Comment 9

7 years ago
The patch in comment 2 made a huge improvement for me too, except for minor artwork it's as good as a retina app.

For those following along, what I did:
-found Thunderbird in my Applications folder (with Thunderbird not running)
-right click and select "Show package contents"
-in Contents folder, open the "Info.plist" file in TextEdit
-using the content in comment 2 above, find the right place in Info.plist to add the two lines that start with "+" signs in the patch. But don't include the + signs in the final file
-save and close it all. Find the Thunderbird app in Applications folder again, and make a copy. Delete the original and rename the copy to the same name as the original. This, I believe, clears some caches
-Enjoy!

Comment 10

7 years ago
(In reply to paul from comment #9)
Thank you Paul for the detailed instructions. Works like a charm!
Reporter

Comment 11

7 years ago
This ports the "OpenGL antialiasing HiDPI patch" from Bug 674373. I will ask for review for this after the original patch has r+.

Comment 12

7 years ago
Just tried the workaround provided by Paul Cook (Comment 9). Works great on the retina display. However, with a secondary display (non-HiDPI, res 1680x1050) also hooked on the max, thunderbird appears blurry when shown on the secondary display. Any thought?
Reporter

Comment 13

7 years ago
(In reply to tom.vercauteren from comment #12)
> Just tried the workaround provided by Paul Cook (Comment 9). Works great on
> the retina display. However, with a secondary display (non-HiDPI, res
> 1680x1050) also hooked on the max, thunderbird appears blurry when shown on
> the secondary display. Any thought?
Seems this is an Apple Bug:
http://forums.macrumors.com/showthread.php?t=1387571
http://avatron.com/forums/read.php?9,15142

Nevertheless you should be clear, that full Retina support is not included into Core yet. If you want to test (mainly) Retina support of a Mozilla application, you can test the Firefox try build from https://bugzilla.mozilla.org/show_bug.cgi?id=674373#c151 which includes most Retina patches.
Reporter

Updated

7 years ago
Blocks: 781333
Reporter

Updated

7 years ago
Depends on: 674373

Comment 14

7 years ago
(in reply to Nomis101 à propos blurry text on a non-retina display)
No, it's not that Apple bug. Every other app works fine, this bug is specific to Thunderbird. On an external monitor, it affects text everywhere but in the message body panel (which is rendered normally). It is mostly annoying in the list of message titles.

Other than that, this quick plist addition works great on the retina display.

Comment 15

7 years ago
(in reply to Nomis101 comment #13)
This is not the bug I am facing as this blurryness was specific to thunderbird

(Regarding upgrade to Thunderbird 15.0)
The upgrade to Thunderbird 15.0 discards the modifications made locally to the info.plist. Reapplying the method from comment #9 using both patches from comment #2 and comment # 11 works quite nice. I believe the patch from comment #11 improves things for the secondary display problem I was referring to in comment #12. Also, simply moving Thunderbird.app in a different folder and moving it back to the Applications folder seems to clear the cache (no need to copy, delete and rename).

Comment 16

7 years ago
text blurry in latest earlybird (>=16, also 17a2 from today) despite patches from comment #2 - or only for me?

Comment 17

7 years ago
(In reply to Markus Doits from comment #16)
> text blurry in latest earlybird (>=16, also 17a2 from today) despite patches
> from comment #2 - or only for me?

test also blurry in messagepane, latest Daily:

(Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:18.0) Gecko/18.0 Thunderbird/18.0a1 ID:20120830030209

Comment 18

7 years ago
blurry in latest Daily

Comment 19

7 years ago
Just upgraded to TB 15 and the text is blurry again. The upgrade replaced the previously edited Info.plist so I had to apply the patch (in Comment #2) again. However, it's not working anymore. did I just shot myself in the foot?

If nobody knows how to fix it this time, I'll search on how to downgrade to TB14 again. Any idea?

Comment 20

7 years ago
Check that your modifications to the plist were truely applied (you may need to apply the changes attached to comment #11 too).
It works for me with TB15.

Comment 21

7 years ago
Does not work for me (even method from comment #9 with patches from comment #2 and comment #11). Looks like something is blocking it for me (tried now on 18.a1 31-08-2012).

TB 14 was good without any need for a patch. Why did this change? Looks like a regression for me.

Comment 22

7 years ago
Just a note to say that I applied #2 and #11 and Thunderbird looks _fantastic_ .

Thanks!

Comment 23

7 years ago
(sigh - Thunderbird 15, I meant to note (contrasting with the previous poster's difficulty))

Comment 24

7 years ago
#2 & #11 is already included in latest Daily (18.0a1), but still blurry

Comment 25

7 years ago
No luck!

Applied patches from comment #2 and comment #11 but my TB15 is still blurry. I've checked several times that the changes are indeed in Info.plist file. here is how it looks:

		<key>i386</key>
		<string>10.5.0</string>
		<key>x86_64</key>
		<string>10.6.0</string>
        </dict>
        <key>NSSupportsAutomaticGraphicsSwitching</key>
        <true/>
        <key>NSPrincipalClass</key>
        <string>GeckoNSApplication</string>
        <key>NSHighResolutionCapable</key>
        <true/>
	<key>UTExportedTypeDeclarations</key>
	<array>

Am I doing it right? Can someone with TB15 post his/her Info.plist file? Maybe mine is missing some other settings.

Comment 26

7 years ago
Info.plist as requested.   TB15 on my MBPr OSX 10.7 not blurry.

/Applications/Thunderbird.app/Contents/Info.plist

Comment 27

7 years ago
applying #2 & #11, or above info.plist not working on OSX 10.8.1 and Thunderbird 18.0ai (Daily)

Comment 28

7 years ago
(In reply to Martin Gregory from comment #26)
> Created attachment 657510 [details]
> Info.plist after applying #2 and #11
> 
> Info.plist as requested.   TB15 on my MBPr OSX 10.7 not blurry.
> 
> /Applications/Thunderbird.app/Contents/Info.plist

There is some problem with the file (or my safari). I cannot seem to download it. I am logged into this forum, I click on the attachment and it shows in my download folder as Info.plist.download and safari never finishes the download (even in 30 mins). Maybe you can email it to me? You can find my email address in the CC list above. The only @msn.com email address is mine. Thanks!

Comment 29

7 years ago
Now I'm going to report something bizarre. 

I replaced my Info.plist file from the one attached to comment #26 and the issue is resolved! The bizarre thing is, before replacing the file, I diff my Info.plist with the new Info.plist and they both came out exactly the same. Now, I have no clue why replacing it with a new file resolved the issue.

I then removed the new Info.plist with the old one and the issue did NOT come back. No clue what's happening. Maybe someone who understands the working on TB better knows why it's behaving this way. Anyway, my TB15 is not blurry anymore.

Suggestion to others who are seeing blurry TB since after upgrading from TB14, please download the Info.plist file from comment #23.

Hope this helps!

Comment 30

7 years ago
Sorry for the typo. I referenced a wrong comment for the new Info.plist file. Here is the right one:

Suggestion to others who are seeing blurry TB since after upgrading from TB14, please download the Info.plist file from comment #26.

Comment 31

7 years ago
Applied the Info.plist in Comment 26.

TB 15 
MacOS 10.8.1
MBP Retina

All text still very pixelated.

-Jon

Comment 32

7 years ago
Shiraz - glad it worked.   Maybe you experienced the effect described in Comment 15 - something about the need to clear a cache.    Jon West might be able to get the same effect by experimentation (I have no idea what would really be going on, I just read Comment 15 and it sounded like what happened in Comment 29(

Comment 33

7 years ago
The only thing I have left to try is a reboot.
Could TB 'cache'? Don't know.
But the new file has been there for 10+ restarts without affect. (with the NSHighRes)
I'll try reboot tonight -- or any other suggestions.

But comment 17, comment 27, comment 31 seem to imply a problem with 10.8.

Will report.

-jon

Comment 34

7 years ago
After reboot, still severely pixelated.
Can confirm that Info.plist has high resolution key after reboot.

(MPB Retina / 10.8.1 / TB 15)

-j

Comment 35

7 years ago
Same problem here.

I noticed my TB has a new file in the same folder dated August 30, 2012 that maintains code signature (hashes) for all installation files. Maybe this protection interferes with Update of comment 26?

Comment 36

7 years ago
I've just noticed that message composition windows are still blurry, even though message display windows are fine.

FWIW.

Comment 37

7 years ago
A small update...

...comment 26 was not working
(See my comment 35)
... I did the following actions

1. I removed the hash from the CodeSignature (yet not working)
2. Installed Early Bird (and tried comment 26 on the new mailer)
3. Removed Early bird (since fonts were not working even of this version)
4. Rebooted (during reboot the system installed a patch 10.8.1)

5. After reboot retina quality fonts worked.

I do not know which operation triggered the new fonts, but I wished to let you know.

Fonts works even in the composition window.

Best
C.Alberto

Comment 38

7 years ago
SOLVED!

Using Comment 2 and then steps 1 & 4 in Comment 37 
I've got all retina quality text in TB folders, lists, preview and composition.

To be clear, in:

/Applications/Thunderbird.app/Contents/Info.plist

I added: 
<key>NSHighResolutionCapable</key>
<true/>

[restart of TB, and Reboot of Machine did not pick it up]

So, in:
/Applications/Thunderbird.app/Contents/_CodeSignature/CodeResources

I simply deleted the data for the Info.plist key.

Before:
<plist version="1.0">
<dict>
         <key>files</key>
         <dict>
                   <key>Info.plist</key>
                   <data>s0m3-cr4zy-5tr!ng</data>
...
After:
<plist version="1.0">
<dict>
         <key>files</key>
         <dict>
                   <key>Info.plist</key>
                   <data></data>
...

Reboot machine (restart TB alone did not work).

Thanks, guys.

Now to figure out Office.

Jon

Comment 39

7 years ago
Auto Upgrade to 15.0.1 undoes everything and you'll have to start back at square one.
Lovely.

-jon

Comment 40

7 years ago
I'm unable to fix now using the steps in Comment 39 after applying update 15.0.1

Thoughts?
-j

Comment 41

7 years ago
I have seen this issue several times. the behavior is not predictable. However, my tb5 to tb5.0.1 upgrade did not reset my retina configuration in plist. Tb16 gave me real tough time though.

This is what you can try after making appropriate changes to your info.plist file.

Quit tb
Go to terminal
Go inside application directory
Use 'touch' command to update the time stamp on thunderbird.app file (E.g sudo touch thunderbird.app)
Then start tb again

Post back the results
Reporter

Updated

7 years ago
Blocks: 795616
Reporter

Updated

7 years ago
Blocks: 795617
Reporter

Comment 42

7 years ago
Bug 674373 was fixed today, there was no part I've found which needs to be port to Thunderbird (but one for SeaMonkey). So TB trunk builds should now support HiDPI much better. Remaining issues are bug 794038 and bug 785667. If there also will be nothing to port, I will close this Bug as fixed. The only things that needs to be fixed for TB are Bug 781333 and Bug 795617.
No longer blocks: 795616, 795617
Reporter

Updated

7 years ago
Blocks: 795617

Comment 43

7 years ago
I've repeated the steps in Comment 37 and Comment 41 without any luck. Since upgrading to 15.0.1 I'm back to square-one.

Comment 44

7 years ago
That's me again

my TB is working after 15.0.1 upgrade. It took me a while (repeated the procedure, a couple of times) since the procedure that worked the 1st time din not worked this time.

Basically I applied to previous comments plus a procedure found to make Office working with retina. MAC caches the application definition until it found the application has changed. 

What I found was:

1. copy the .app folder to the desktop, delete the original ".app" folder and then move the copy back to the original position.
2. To avoid problems the signature of the Info.Plist file the key has to be deleted from CodeResources file.
3. Finally a reboot is indicated after these changes to avoid something is still in memory.

That worked for me 

(A: I will not update TB again until this problem will be officially solved).
(B: The same trick also works to put firefox in retina mode after update)

I hope this could work also for you.
Best regards,
C.Alberto

Here there are additional hints I found on the web (I did not used them):

Someone (in the office discussion group) suggests to issue the "touch" command on the application files to force OSX to clear its application cache.

Others suggest also to issue a Purge command form terminal to clear memory buffers (A reboot also does the same).

Comment 45

7 years ago
That's me again

my TB is working after 15.0.1 upgrade. It took me a while (repeated the procedure, a couple of times) since the procedure that worked the 1st time din not worked this time.

Basically I applied to previous comments plus a procedure found to make Office working with retina. MAC caches the application definition until it found the application has changed. 

What I found was:

1. copy the .app folder to the desktop, delete the original ".app" folder and then move the copy back to the original position.
2. To avoid problems the signature of the Info.Plist file the key has to be deleted from CodeResources file.
3. Finally a reboot is indicated after these changes to avoid something is still in memory.

That worked for me 

(A: I will not update TB again until this problem will be officially solved).
(B: The same trick also works to put firefox in retina mode after update)

I hope this could work also for you.
Best regards,
C.Alberto

Here there are additional hints I found on the web (I did not used them):

Someone (in the office discussion group) suggests to issue the "touch" command on the application files to force OSX to clear its application cache.

Others suggest also to issue a Purge command form terminal to clear memory buffers (A reboot also does the same).

Comment 46

7 years ago
All the patches seem to be Mac only. What about other OSes? I think You can run Linux on the Mac hardware too.
You can run Linux, but I doubt that there are any distros that support hidpi(ie pixel-doubled) resolutions at all. Even if there is one, there's no standard support at all. If you're just running at the native resolution of the screen, then there's no issue.
Reporter

Comment 48

7 years ago
(In reply to :aceman from comment #46)
> All the patches seem to be Mac only. What about other OSes? I think You can
> run Linux on the Mac hardware too.
Because "Retina Display" is a brand name from Apple and Macs mostly running with OS X, this is Mac only. You also need some Core work, which is only (mostly) done for Mac.
I've made the summary more clear.
Summary: Add Retina Display support to Thunderbird → [OS X] Add Retina Display support to Thunderbird

Comment 49

7 years ago
Earlybird has been very laggy since a few days when I use it on my rMBP.
When I type, it takes about half a second to display each letter.

But I'm not having this issue when I'm on dual-screen, even if Earlybird is on the Retina display.
(In reply to Arthur Roussel from comment #49)
> Earlybird has been very laggy since a few days when I use it on my rMBP.
> When I type, it takes about half a second to display each letter.

I've noticed this as well. It's almost unusable if I look at the screen. It's buffering keystrokes, though. If I don't look, I can get many lines ahead.

Nightly with retina support hasn't been that snappy either, but it's nowhere near as bad as Earlybird. (I'm typing this in nightly and it's keeping up with keystrokes.)

Comment 51

7 years ago
(In reply to Zandr Milewski [:zandr] from comment #50)
> (In reply to Arthur Roussel from comment #49)
> > Earlybird has been very laggy since a few days when I use it on my rMBP.
> > When I type, it takes about half a second to display each letter.
> 
> I've noticed this as well. It's almost unusable if I look at the screen.
> It's buffering keystrokes, though. If I don't look, I can get many lines
> ahead.
> 
> Nightly with retina support hasn't been that snappy either, but it's nowhere
> near as bad as Earlybird. (I'm typing this in nightly and it's keeping up
> with keystrokes.)

Indeed, but I remembered that I'm typing my emails on the non-Retina screen while in dual-screen, so I guess it's really a Retina-related thing.

Everything I do is buffered too, just slow to appear.
So, proving that I have no idea how the Mac decides to render fonts...

I just tested the latest Daily to see if it was still slow. (It is.)

I then launched Thunderbird (16.0.1) and am getting Retina font rendering and good performance.  No idea what's going on, but perhaps this is useful info to someone more familiar with the guts of this.

Comment 53

7 years ago
Using the latest Earlybird build, when drag and dropping a folder from a place to another in the sidebar, the cursor is not changing and you're never really sure you're actually dragging something.

Also, when typing a new message, the icons to edit the text (bold, italic and so on), are weirdly stretched. This happens since a few days.

Comment 54

7 years ago
I applied the suggested changes to Thunderbird 17.0 and things look good on my Retina LCD with the "Best for Retina" setting. But when I move Thunderbird to the external monitor (that is not scaled) text looks blurry. It looks blurry on the external monitor even if I don't apply changes as well.

If I open Thunderbird on the external monitor then it looks fine there, but looks blurry when moved to the Retina LCD.
Reporter

Comment 55

7 years ago
(In reply to David Rees from comment #54)
> I applied the suggested changes to Thunderbird 17.0 and things look good on
> my Retina LCD with the "Best for Retina" setting. But when I move
> Thunderbird to the external monitor (that is not scaled) text looks blurry.
> It looks blurry on the external monitor even if I don't apply changes as
> well.
> 
> If I open Thunderbird on the external monitor then it looks fine there, but
> looks blurry when moved to the Retina LCD.
This is known and fixed for Gecko 19 and up in Bug 794038.
Reporter

Updated

7 years ago
Blocks: 819750
Duplicate of this bug: 727229

Comment 57

6 years ago
I believe that this has been fixed in the nightlies for a good while now. We even include retina artwork :)
Reporter

Comment 58

6 years ago
I don't have a retina Mac, so I can't test. But if somebody with a Retina Mac could test the latest nightly if everything looks fine, this would help to decide if this is fixed. If everything looks fine, also on a second Monitor (Bug 794038), what happens in fullscreen mode (Bug 799523) or what happens if you zoom (Bug 800668), does a combination of <html style="background-attachment: fixed"> and <input type=submit> work (Bug 806059) and something like this.

Comment 59

6 years ago
Mmh. I just tried today's Earlybird, but I don't get the retina artwork. Did I miss something?
Besides, sorry for being thick, but I'm unsure how you'd test for bugs 799523 or 806059 in TB (and not in Firefox).

Comment 60

6 years ago
I have a retina MBP, and the March 16 2013 Daily build looks completely retina-optimized. I haven't seen anything that is *not* retina-ready. I can't test with a second monitor, unfortunately.

Full-screen mode works properly. Zoom also works properly.

Comment 61

6 years ago
I'm afraid I do not have retina artwork on my rMBP, either with the March 16th or latest version (OS 10.8.2).

I tried the multi-monitor setup. Things are globally correct, but when you have a window that overlaps the rMBP display and the external display, then things are still a bit rough:
1) If you move the window towards the external monitor you often get a twice as small window transiently appearing, and conversely in the other direction (twice as large text 'flashed'). 
2) After this transient, you either get pixelated text in the rMBP half, or retina-quality text, whether more than half the window sits on the external monitor or on the rMBP display. Curiously, when more than half the window is on the rMBP display you get proper retina text AND properly scaled text on the external monitor, which shows that this should be possible to get in all conditions (i.e. even when most of the window sits on the external display).

Comment 62

6 years ago
@Pierre Baraduc: If you look at this screenshot, does it look correct on your retina?

Comment 63

6 years ago
Oops, my comments 59 and 61 applied to Earlybird (21.0) and not Daily (22.0). Actually I had said it in comment 59, but sorry for the misunderstanding. I indeed get retina artwork in 22.0. I don't find the left-panel icons very appealing (esp. the trash) but that's another matter.

I'll re-check the multi-monitor performance as soon as I can.

Comment 64

6 years ago
Update on external monitors: the behavior I described with for Earlybird (21.0) can be exactly reproduced with Daily (22.0).

I also noticed when more than half of the window is drawn on the external monitor, low-res versions of the icons are used for the external monitor part, whereas when more than half sits on the retina display, downscaled high-res versions are used on the external monitor (I noticed this because the "send" icon has a markedly different appearance in HiDPI vs. standard version).

To summarize differently what is apparently happening:  

1) what is displayed on the external monitor is either a low-res content (when >50% of window content appears on external monitor) or a downscaled-to-low-res version of the HiDPI content (when <50% of window content appears on external monitor).

2)what is displayed on the integrated retina display is either an upscaled low-res content (when >50% of window content appears on external monitor) or a HiDPI content (when <50% of window content appears on external monitor).

I wonder why it couldn't be possible to get rid of this 50% limit and simply always use the second mode (applied when <50% of window content appears on external monitor). Apart from the HiDPI "send" icon, which would need to be reworked because its downscaled version looks like a simple black square, the rest is fine.
Reporter

Updated

6 years ago
Depends on: 898523
Reporter

Updated

6 years ago
Depends on: 898527
Reporter

Updated

6 years ago
Depends on: 898535
Reporter

Updated

6 years ago
Depends on: 898537
Reporter

Updated

6 years ago
Depends on: 898541
Reporter

Updated

6 years ago
Depends on: 898542
Reporter

Updated

6 years ago
No longer blocks: 795617, 819750, 781333
Depends on: 795617, 819750, 781333
7 bugs still open/to go.
Can someone check if they are all still legit and need work?
(In reply to Wayne Mery (:wsmwk) from comment #65)
> 7 bugs still open/to go.
> Can someone check if they are all still legit and need work?

After a very quick check on latest beta, bug 898541 and bug 898523 are still relevant (can’t test the others right now)
Summary: [OS X] Add Retina Display support to Thunderbird → [OS X] Add Retina Display support to Thunderbird [mac HiDPI]
You need to log in before you can comment on or make changes to this bug.