Opened 7 years ago

Closed 5 years ago

#6457 closed defect (fixed)

Make start-tor-browser or Tor Browser the primary "dock" icon?

Reported by: mikeperry Owned by: tbb-team
Priority: High Milestone:
Component: Applications/Tor Browser Version:
Severity: Keywords: tbb-usability, interview
Cc: gnorcie@…, adrelanos@…, mcs, brade Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

http://petsymposium.org/2012/papers/hotpets12-1-usability.pdf suggests that the Vidalia icon is rather confusing to users, especially when both it and Firefox are present, and the start-tor-browser script isn't dockable.

I see a few possibilities:

  1. Make a Firefox Addon be the Tor controller, instead of Vidalia. Then, we can ship just Tor Browser with a Tor binary and Tor Browser would be the primary dock app.
  1. Rig Vidalia and Tor Browser not to show up on the dock (how do you switch to their windows then?), and only allow start-tor-browser to be the dockable app.
  1. Hide the Vidalia icon on the dock, and hack the Tor Browser binary to relaunch start-tor-browser if called directly.

Child Tickets

Change History (13)

comment:1 Changed 6 years ago by proper

Cc: adrelanos@… added
  1. Make a Firefox Addon be the Tor controller, instead of Vidalia. Then, we can ship just Tor Browser with a Tor binary and Tor Browser would be the primary dock app.

Looks like this is what you decided to do. #6009

comment:2 Changed 6 years ago by mikeperry

Priority: normalmajor

This behavior is still a little janky on MacOS, it still docks the containing launcher app, but creates a new icon when you open it.

comment:3 Changed 6 years ago by mcs

Cc: mcs brade added

comment:4 Changed 5 years ago by mikeperry

Keywords: interview added

comment:5 Changed 5 years ago by brade

I don't think this is a problem anymore with TBB 3.x. The launcher app and the browser both use the globe icon.

comment:6 Changed 5 years ago by mikeperry

The icon is the same, but something about how we pack TorBrowserBundle.app and the TorBrowser.app it contains causes two icons to appear on the dock when it is launched: one for the launch app, one for the browser app that it launches. Ideally, there would be only one dock icon, to match the behavior of non-combined apps. Not sure if this requires changing how we pack the TorBrowserBundle.app or if there is some MacOS hack that we could use to tell it not to launch a separate dock icon for the browser.

comment:7 in reply to:  6 Changed 5 years ago by mcs

Replying to mikeperry:

The icon is the same, but something about how we pack TorBrowserBundle.app and the TorBrowser.app it contains causes two icons to appear on the dock when it is launched: one for the launch app, one for the browser app that it launches. Ideally, there would be only one dock icon, to match the behavior of non-combined apps. Not sure if this requires changing how we pack the TorBrowserBundle.app or if there is some MacOS hack that we could use to tell it not to launch a separate dock icon for the browser.

I think we want the browser icon and not the other one. On Mac OS 10.9.1, the first icon (for the bundle launcher) only appears briefly; in fact, it never fully forms on the fast MacBook Pro I am using at the moment. If you see two icons after the browser is up and running, that must be due to a difference in behavior with older versions of Mac OS.

Regardless, I did some research and it looks like we can change the LSUIElement value from false to true in the bundle's Info.plist file to prevent its icon from appearing in the dock. It seems to work and I don't know if there is any downside. See LSUIElement on this page:

https://developer.apple.com/library/mac/documentation/general/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html

comment:8 Changed 5 years ago by mikeperry

Hrm. I think my problem is that I am actually dragging the TorBrowserBundle_en-US app icon onto my dock in the first place.

If I change the value of that pref in the toplevel TorBrowserBundle_en-US.app/Contents/Info.plist, the behavior of a docked TorBrowserBundle is the same.

If I add LSUIElement and a true value to TorBrowserBundle_en-US.app/Contents/MacOS/TorBrowser.app/Contents/Info.plist, then there remains only one dock icon after launch, but it still doesn't behave like a normal docked app. There is no halo underneath the app, and clicking on it doesn't switch me to the app. Instead it seems to try to launch a new browser and then silently gives up. Worse, with this option, if I don't dock the app, there is no dock icon at all, and exiting the browser causes it to stay running in the background with no way to exit. I also don't get a menu bar for the app itself.

This is on 10.6.

comment:9 Changed 5 years ago by mikeperry

I wonder if #9173 made this any easier. Are the fixes there good enough for us to abandon the relativelink wrapper entirely if we want? TorBrowser.app could then just be the primary top-level app on Mac (and maybe do the equivalent for Windows and Linux too?)

Such a change would involve bundle reorganization that may change how the updater has to behave, too. And probably also require updates to the changes in #9173 and in Tor Launcher for new paths...

comment:10 Changed 5 years ago by mcs

The changes we are working on for #11641 should fix this bug (the plan is to eliminate the launcher script).

comment:11 Changed 5 years ago by erinn

Keywords: needs-triage added

comment:12 Changed 5 years ago by erinn

Component: Tor bundles/installationTor Browser
Keywords: needs-triage removed
Owner: changed from erinn to tbb-team

comment:13 Changed 5 years ago by mcs

Resolution: fixed
Status: newclosed

Since the fix for #11641 has been merged, this bug is also fixed now in the TBB 4.0 alpha series.

Note: See TracTickets for help on using tickets.