Comments
-
jim
Perhaps using the Option modifier on the list of users could be the user action for such a feature. Holding Option would change the "[User Picture/Name]" entry to "Log out [Current User] and switch to [User Picture/Name]"--a long menu item string, okay, but something like that would be clear (and useful).
-
Greg Hurrell
(In reply to comment #1)
Perhaps using the Option modifier on the list of users could be the user action for such a feature.
Agreed, that's the way I would do it. I personally have quite a few other higher-priority projects that need to get done before I'll be able to dedicate the time needed to WinSwitch (the donation rate of less than one donation per 1000 downloads means that I just can't justify the time).
To anyone interested in working on this feature, the source is avaialble for download. Implementing this feature would require changes to be made to the "switchToUser:" method; something like this:
0. If "Option" key is currently held down, adopt the following special behaviour; otherwise just use the default behaviour.
1. Launch the CGSession process (responsible for displaying the switch dialog). Watch the process to see when it exits.
2. If a switched-out notification is received, we know that the switch worked and can proceed to log out.
3. If no switch-out notification is received AND the CGSession process exits, we have to assume that the dialog failed (likely causes: wrong password or user cancelled) so we do not proceed with the log out.
There may be some "fuzziness" involved in determining whether "2" or "3" is happening, seeing as we can't be sure of the order in which events will take place (ie. we may see CGSession exit before receiving a notification, or we may see the notification first and then see CGSession exit; alternatively, we may receive no notification at all and only see the exit). So there may need to be some margin for error (1 second? 2? 5? it will need to be determined experimentally), and also take into account the fact that the user can do stuff like bring up the switch dialog and then leave it on screen for seconds, minutes or even hours.
But even taking into account the "fiddly" nature of this I don't think it should be too hard to implement.
-
Greg Hurrell
I'm marking all WinSwitch issues closed seeing as I personally no longer use it, and in fact haven't for around 4 years now.
WinSwitch addressed a real problem with the initial implementation of Fast User Switching in Panther (released October 2003), namely, the excessive screen real estate that it chewed up. Apple fixed that problem in Tiger, if I recall correctly, which came out in April 2005 (or if I'm wrong about it being Tiger, then it was definitely fixed by the time Leopard came out, in October 2007).
With this change, most of the justification for WinSwitch's existence went away, at least for me. So that's why I'm going to close all these tickets: I can't really support something that I don't use myself.
But it's open source, so if any one wants to tackle any of these issues and submit patches, I'll be happy to accept them.
-
Greg Hurrell
Status changed:
- From: open
- To: closed
Add a comment
Comments are now closed for this issue.