xingplus / tunnelblick

Automatically exported from code.google.com/p/tunnelblick
0 stars 0 forks source link

using and opening tuunnelblick via menubar and keyboard #156

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
using  voiceover I cannot click on tubbeelblick icon in òmenubar, it has no 
name, only a grafic symbol since you write tubbelblick in cocoa please make the 
same as for clock of volume icon  or do the same as in the installation 
procedure, this is perfect for blink users, also try using xcode and 64bit, it  
may help alot, manu of us ha  to work with openvpn under mac, thanks

Original issue reported on code.google.com by migara...@gmail.com on 31 Jul 2010 at 6:53

GoogleCodeExporter commented 9 years ago
     This appears to be caused by Apple's standard "NSStatusItem" not supporting accessibility. (If true, that is an incredibly poor decision on Apple's part.)

     I did a quick test by making a version of Tunnelblick that gives a "title" to the Tunnelblick icon, but VoiceOver still can't navigate to it, so I dug a little deeper. (I also couldn't get VoiceOver to work with the Tunnelblick menu properly if I clicked it with the mouse.)

     The problem is that, for Tunnelblick to be used with VoiceOver, it needs to use a non-standard method of creating the Tunnelblick Status Menu item, using something called "MenuExtra Enabler" instead of the Apple-recommended method, which is to use "NSStatusItem".

     One problem with using "MenuExtra Enabler" is apparently that it stops working with each new release of OS X. It also appears to completely change the way that the program "attached" to it works -- it is always automatically started when the computer starts (i.e., it runs even before someone logs in!) and runs in a different context than a regular application. So it may not be possible for Tunnelblick to use it.

     See the post at
http://www.mail-archive.com/macvisionaries@googlegroups.com/msg09249.html
     for a more complete explanation, and the rationale that "Rogue Amoeba" uses to NOT support VoiceOver.

     That said, I will look into doing this, although I know very little about it and will have a lot to learn.

     If we can't use "MenuExtra Enabler", perhaps some completely different solution would work -- for example, an option to make Tunnelblick like a regular application, with a Dock icon and a regular menu bar. Or making some kind of "hot key" expose the Tunnelblick menu.

I would appreciate any ideas on this -- it isn't something I know much about.

PS - I didn't understand your comment "try using xcode and 64bit, it  may help 
alot" -- can you expand on this?

Original comment by jkbull...@gmail.com on 31 Jul 2010 at 12:46

GoogleCodeExporter commented 9 years ago
It looks like a tremendous amount of work, with major changes, to use 
"MenuExtra Enabler". It changes almost everything about how Tunnelblick works 
-- it is no longer a special application that runs in its own address space, 
for example, it becomes code that runs in the SystemUIServer process. I don't 
think that's a good idea.

I did solve the problem with VoiceOver navigating the Tunnelblick menu once it 
is selected (by clicking the Tunnelblick icon). It turns out that if a menu 
item has a ToolTip, VoiceOver thinks that the focus changed to Finder or 
something. So it loses track of where it is on the Tunnelblick menu. Also, 
ToolTips seem to mess things up even if they aren't invoked -- the next time 
the Tunnelblick menu is selected, it says it has 0 items! Both of these are 
solved by inhibiting ToolTips in the Tunnelblick code. So at least once the 
Tunnelblick menu is selected, using Voiceover to navigate around it works (as 
far as I can tell).

The remaining problem is how to simulate a click on the Tunnelblick icon. I'm 
working on that. Maybe an Applescript or something.

Original comment by jkbull...@gmail.com on 1 Aug 2010 at 12:56

GoogleCodeExporter commented 9 years ago
I have attached two Tunnelblick builds for testing.

#1 uses the hot key combination of command-option-t to pop up the Tunnelblick 
menu. Then you can use the keyboard (and VoiceOver) to navigate on it. (For 
this to work, Tunnelblick must be running, but it does not need to be in the 
foreground.)

#2 does that, plus it disables Tooltips. (I had trouble navigating using 
VoiceOver until I disabled Tooltips, but it may have been caused by me being 
unfamiliar with VoiceOver.)

Please try out #1, and if you have trouble navigating the Tunnelblick Menu or 
the Details… window, see if #2 solves those problems. Separately, please see 
if there are any problems with the "when Tunnelblick launches" and "when the 
computer starts" radio buttons in the Details… window -- they are implemented 
in a non-standard way that VoiceOver and/or keyboard navigation may not like.

Assuming one of these works, there are some refinements to be made before this 
is incorporated in Tunnelblick:

The key and the modifier keys (some combination of one or more of command, 
option, alt, shift) will be preferences. There won't be a GUI way to set the 
preferences, but they will default to "t" and "command+option". (Unless you 
have another suggestion).

Turning Tooltips off will need to be controlled:

A. By a preference, probably doNotShowTooltips. And there would have to be a 
checkbox in the very first window that is displayed when you are installing 
Tunnelblick, so you could disable Tooltips for the first launch of Tunnelblick.

OR

B. (My preference): Turn them off whenever VoiceOver is running (i.e., a 
process named "VoiceOver" is running).

The choice between A and B, or how B is implemented, may depend on how people 
use VoiceOver. Do you leave it running or turn it on and off all the time? 

Original comment by jkbull...@gmail.com on 1 Aug 2010 at 11:03

Attachments:

GoogleCodeExporter commented 9 years ago
I have removed the two .dmg attachments from my previous message.

Tooltips interfere with VoiceOver. Because the tooltips have very little 
information, I am considering removing them completely from Tunnelblick, or 
perhaps displaying them only when the "doDisplayTooltips" preference is set to 
true. (Currently, they are displayed only when the "doNotDisplayTooltips" 
preference is missing or not set to true.)

Because the alphabetic keys do not appear on all keyboards, the use of 
command-option-F1 is being considered to pop up the Tunnelblick menu.

It may be useful to add a submenu to the Options… submenu to select a 
different hot key from a list (command-option-F1 through command-option-F16, or 
"None" to turn off the hot key). But I am hesitant to make the Tunnelblick menu 
more complex.

Comments?

Original comment by jkbull...@gmail.com on 5 Aug 2010 at 6:33

GoogleCodeExporter commented 9 years ago
I'm closing this Issue. Tunnelblick 3.1beta12 includes changes that:

(1) Remove tooltips unless the "showTooltips" preference is true. (Tooltips 
seem to interfere with VoiceOver.)

(2) Implement command-option-F1 as the default keyboard shortcut.

(3) A "Keyboard Shortcut" submenu in the Options submenu lets you select any of 
command-option-F1 through command-option-F12 as the keyboard shortcut. It is 
not displayed if the "doNotShowKeyboardShortcutSubmenu" option is true.

Original comment by jkbull...@gmail.com on 2 Sep 2010 at 1:00