Date: | September 19, 2006 / year-entry #318 |
Tags: | other |
Orig Link: | https://blogs.msdn.microsoft.com/oldnewthing/20060919-02/?p=29683 |
Comments: | 59 |
Summary: | When you select "Shut Down" from the Start menu, a dialog appears with three options: "Stand By", "Turn Off" and "Restart". To get the secret fourth option "Hibernate" you have to press the shift key. Would the Alt key be the more obvious choice for revealing alternate options? You might think so, but it so... |
When you select "Shut Down" from the Start menu, a dialog appears with three options: "Stand By", "Turn Off" and "Restart". To get the secret fourth option "Hibernate" you have to press the shift key. Would the Alt key be the more obvious choice for revealing alternate options? You might think so, but it so happens that Alt already has meaning. In this dialog, the Alt key would be a disaster, because the underlined letters indicate keyboard accelerators, which are pressed in conjunction with the Alt key. In other words, from the Shut Down dialog, you can type Alt+S to stand by, Alt+U to turn off, or Alt+R to restart. Since the Alt key was already taken, the Shift key had to be used to reveal the bonus options. Using the Shift key to reveal bonus options is not uncommon. You can hold the Shift key while right-clicking on a file to get an extended context menu, and of course there's the Shift+No option in file copy dialogs to mean "No to all". In fact, you don't need to press the Alt or Shift keys at all. Recall that the rules for dialog box navigation permit omitting the Alt key if the focus control does not accept character input; since the only things on the Shut Down dialog are pushbuttons, there is no character input and you can just press "S", "U" or "R" without the Alt key. What's more, you don't need to hold the Shift key if you want to shut down; you can just type "H" and the Hibernate option will be invoked, because hotkeys for hidden controls are still active. |
Comments (59)
Comments are closed. |
I’m with you on not using the ALT key. Having a quite commonly needed option with such low discoverability is however not acceptable. I’m not sure what the best way to do it would have been, but the general rule is: if you have to read about it on the net to know how to use it, the UI is flawed.
Interesting. Why is hibernate hidden anyway?
"the Shift+No option in file copy dialogs to mean ‘No to all’."
Oooh, did not know that…
IIRC, you can also tab to hibernate. It looks like a bug, but now it sounds like it isn’t.
I found out about Hibernate only by accident and always wondered, how one could possibly come by this idea to hide this 4th of a set of 4 equally useful functions like that.
It’s like using a
struct {
int[3];
list<int[1]>;
} a;
When all you really wanted was an
int a[4];
But maybe the usability labs found out, that the maximum number of buttons a normal human mind can grok at any given time is exactly three.
Or maybe the hibernate doesn’t work on some plattforms and the legal department found out, that there is a patent about "greying out or diabling in any other way of unused GUI elements in shutdown dialogs" that must not be violated :-}
On my laptop, hibernate appears until you invoke it, then it starts to hibernate, wakes back up, and subsequently the menu option is hidden.
Wheee
Hiding options this way.. is EVIL.
I notice also that I’m not the only one not knowing of this shortcut and of the one of "No to all" and I wonder why this decision was made.
I’ve always liked "hidden" options like this, it’s like finding a secret treasure. I guess the one problem with this is very few people know about it. I get surprised how many of my fellow developers, people who should know Windows inside and out, don’t know about this technique.
Hibernate isn’t available until you enable it, though, is it? I thought you first had to enable it in the Power Options, Hibernate tab. When you enable it there, my experience has always been that Hibernate automatically appears on the Shut Down menu. I have had a few ocassions though where it disappears after Hibernating fails. I currently don’t have Hibernation enabled on my laptop, and even if I hit the Shift key, Hibernate is not available on the Shut Down menu.
You also forgot about the 4th option of "Log Off", which would really make Hibernate the 5th option :-)
I have a Dell laptop that shows all four icons side by side, but a desktop that only shows three (and you can switch between "standby" and "hibernate" by holding down shift). Anyone know if it’s possible to set the desktop to have all four side-by-side?
"the Shift+No option in file copy dialogs to mean ‘No to all’."
You’ve just made my day. Thank you.
On media center PCs, the 4 options appear side-by-side.
This discoverability nightmare is also absent on Vista.
@Dave: "Anyone know if it’s possible to set the desktop to have all four side-by-side?"
Go to
http://blogs.msdn.com/oldnewthing/archive/2006/09/19/762058.aspx
Though this is a hotfix and not directly downloadable; you must request it from Microsoft.
Damn… Wrong link. ;)
I meant http://support.microsoft.com/kb/893056
My laptop shows a drop-down with 5 options: Logoff, shutdown, standby, restart and hibernate. I guess it’s because I’m joined to a domain.
There should be a GUI way to get hidden options!
Like an “Advanced >>” button.
I haven’t used the Shutdown option for years, I have it configured so pressing the power button on my tower hibinates, very useful.
I can’t remember how I found out about using Shift, I think someone must have showed me.
I don’t know why, but it amuses me sticky keys still turn on, even when in the shutdown menu.
Serge,
> Raymond, why do hot keys work for hidden controls?
I too would like to know this. I know that you must also disable the control to prevent it from processing the hot keys. However, I’m sure we’ve all seen some code where controls are simply hidden and not disabled.
which OS are we talking about here… I have XP SP2 (Classic look) and Shutdown has a nice dialog box with a combo box that has the keyboard focus.
the "H" option is new to me, got to try it out today.I hibernate my home machine everyday and do a shutdown/restart only after installations/windows updates.
Can you tell us why the ability to hit a letter to select an option on the secure desktop is completely gone in Vista?
In XP and earlier, you can hit CAD, and then a letter. C for change password, L for logout, T for task manager, etc.
These no longer work in Vista. I understand that the GINA is gone, but having to use the arrow keys or even worse, the mouse to select these options is lame.
ulric:-
do this
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
Value Name: LogonType
Data Type: REG_DWORD (DWORD Value)
Value Data: (0 = Classic Mode, 1 = Welcome Screen)
Vipin: I wouldn’t tell him to just do that and then try to see what’s different. If he’s on a Domain, part of his system will either become pissed off, or it just won’t use the welcome screen and he still doesn’t see it.
ulric: You only see this dialog box when using the Welcome Screen to login. The one with the dropdown box is what is used when on a Domain, or if you just disable the Welcome Screen and use Ctrl+Alt+Del to login.
Eh. Looks like I had a little focus problem. "Hit" up there in that last post should be "HitScan." Oops.
"You can hold the Shift key while right-clicking on a file to get an extended context menu,"
Sweet! Thank you, you just made my day. I’ll be using "Copy as Path" all the time now.
I can’t hibernate anyway, as for some stupid reason it’s disabled on machines with memory with a physical address above the 4 GiB barrier.
There’s a ridiculous KB article on the issue (888575). I have hundreds of gigabytes of hard disk space. I can easily sacrifice 4 GiB to a hibernation file. And my disks are fast; I can easily withstand reading and writing a 4 GiB hibernation file, because it’s still quicker than shutting down and booting from scratch when I move my machine around/add hardware/sit out power cuts.
You know, I’ve used just about every version of Windows, from 3.1 to 95, 98, Me, NT 4, 2000, XP, and 2003. And you know how STUPID it is to hide functionality like this? I never knew about these alt/shift options until TODAY.
At least Vista has all the hibernate/shutdown/restart options listed. But it’s absolutely retarded to not advertise this kind of functionality to at least a small extent.
So why is it that "No to all" is hidden behind the shift key, but "Yes to all" is immensely obvious? And can we have a tooltip or something that informs us about hidden functionality?
And what’s the differance between normal and "extended" context menu? The file context menu looks the same to me wether shift is held or not.
Tuesday, September 19, 2006 11:16 AM by rob
> On my laptop, hibernate appears until you
> invoke it, then it starts to hibernate,
> wakes back up, and subsequently the menu
> option is hidden.
Another Microsoft employee posted a blog entry about this hotfix:
http://support.microsoft.com/default.aspx?scid=kb;en-us;909095
In my experience it works. Temporarily I was suspicious about a possible side effect but it turned out to be just a coincidence in the timing of an unrelated bug. (Also by the way, the unrelated bug is an intermittent bug in Windows XP and 2003 but is part of the spec in Vista. USB hard drives will not be capable of safe removal in Vista except by shutting down Windows, 100% by design.)
A further amazing fact is that it can be downloaded without making a phone call and without being told that a paid support incident has to be opened before telling a Microsoft employee which Knowledge Base article number we want the hotfix from.
Tuesday, September 19, 2006 11:31 AM by bwinzenz
> Hibernate isn’t available until you enable
> it, though, is it?
In some installations it’s enabled by default, in others you have to enable it as you say. I’ve never seen any obvious way to predict if it will be available by default.
Tuesday, September 19, 2006 1:44 PM by [ICR]
> I haven’t used the Shutdown option for
> years, I have it configured so pressing the
> power button on my tower hibinates, very
> useful.
Then if Windows hangs and refuses to even shut down, pressing the power button will do nothing. You unplug the power cable then? On a laptop you’d have to unplug the cable and remove the batteries (which I did a few times before finding the relevant option).
Tuesday, September 19, 2006 2:27 PM by Matt Lichstein
> In XP and earlier, you can hit CAD, and then
> a letter. C for change password, L for
> logout, T for task manager, etc.
In XP? I could in Windows 2000 and NT4 but not in XP. (Maybe Vipin’s comment gave an answer to this.)
Tuesday, September 19, 2006 6:09 PM by DrPizza
> I can’t hibernate anyway, as for some stupid
> reason it’s disabled on machines with memory
> with a physical address above the 4 GiB
> barrier.
But not on the same machine with the same physical addresses when running a 32-bit Windows system which doesn’t see those addresses. A few months ago someone asked in a public newsgroup and Microsoft’s public answer was that the reason for disabling in x64 was that it wouldn’t be user friendly. Right, forcing a shutdown of all running applications and shutdown of Windows and then later restarting them all is more friendly than allowing hibernation which might be 4GB. Why wasn’t this user friendliness imposed in 32-bit versions too? Why wasn’t this user friendliness imposed in Vista x64? (OOOOps, maybe now it’s going to be.)
http://support.microsoft.com/kb/893056
"When you click “Turn Off Computer” on the Start menu, the Hibernate button does not appear in Windows XP Service Pack 2 or in Windows XP Tablet PC Edition 2005"
….
"A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Only apply it to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Windows XP service pack that contains this hotfix.
To resolve this problem immediately, contact Microsoft Product Support Services to obtain the hotfix."
P.S. You can find the fix on the internet (search for ‘Windows XP SP3’).
Norman Diamond –
The mains switch is right next to my computer, I just switch it off from there. The number of times I’ve had to do that (3 times) isn’t enough to outweigh the number of times just pressing the button to hibinate is benificial (if I’m running out the door, as I often do, just press the button on the front, not turn the monitor on, find and press 2 or 3 buttons etc.)
There’s a problem that’s certainly not in Raymond’s domain, but I have to mention:
The "three options dialog" has improperly designed user interface. I don’t believe that anybody can recognize which one of 3 options is selected (and will respond to the Enter key), since the diffrence is only between a slightly lighter and a slightly darker "buttons". Until I cycle throgh all and try to see which gets lighter I can never know which one is active at the moment.
Horrible.
Now I’m mad. I’ve been wanting to figure out how to tell Windows "No to all" for about a decade now!
Steven Chen has this interesting post about Hibernate option from Shutdown, Alt keys, on so on which
Serge, Terry. Accelerators work on hidden controls because they are still enabled. Disable them and the accelerators will not apply.
"Hibernate" would be a very confusing option to grandma. My parents can barely figure out if they should "Shut Down" or "Stand By". So on a usability point I think it makes a lot of sense, whether or not they change it for Vista.
I’ve always thought you add it as an option by going to Control Panel/Power Options… which is what I do if I want the option enabled.
Wednesday, September 20, 2006 1:54 AM by Dean Harding
[Norman Diamond:]
>> USB hard drives will not be capable of safe
>> removal in Vista except by shutting down
>> Windows
>
> Where do you get this stuff? "Safely Remove
> Hardware" works fine on Vista RC1 for me.
Vista RC1 rejects it 100% of the time for me and not only did Pavel A. (who has sometimes posted here) post a public response saying that he confirmed it, but you don’t need to rely on our observations. Microsoft posted a resolution to my bug report saying that this behaviour is by design:
https://connect.microsoft.com/windows/feedback/ViewFeedback.aspx?FeedbackID=195100
(By the way I did not try this with USB devices other than hard disks, so the presence of the safe removal icon might still have some meaning.)
Norman, I found your post: http://forums.techarena.in/showthread.php?t=583205
And while I can’t see that connect page (Page Not Found?) I suspect the same thing as Pavel: something had a handle open to a file on the drive, so Windows didn’t let you remove it.
Of course that’s by design, it was "by design" in every version of Windows that I can remember using.
I would suggest you download filemon or process explorer and have a look to see what’s got a handle open on the drive, rather than posting sensationalist (and wrong) things like this. A common thing I’ve seen in the past is that the "Norton Recycle Bin" keeps handles open all the time, displaying just this behaviour. Like I said, it works 100% for me.
In Vista RC1, the event viewer already said which process had a handle open. It was the System process, PID 4. Now why did the System process keep a handle open on that device, only Microsoft knows, but Microsoft did answer that it is by design.
Mr. Chen asked me:
> “This” is a vague term here.
I guess you mean “it” is a vague term here, in which case the particular “it” is the behaviour which I thought was a bug but which Microsoft said is by design.
> What specifically was by design?
Well, I guess we have to hope that your colleagues will read your blog and post a comment to inform both of us. Of course a less specific answer would be the behaviour which I thought was a bug.
Anyway the System process (PID 4) keeping a handle open on the device is something that I didn’t ask for. Whether by design or not, the inability to disconnect a USB hard drive without shutting down Windows is an inconvenience (except by comparison to NT4), and the inconvenience is big enough that I will not use Vista in daily life.
The "System" process basically represents kernel-mode threads. It’s not really a "process" as such, and most likely a driver or something has the handle open.
Unfortunately, you can’t expect Microsoft support to diagnose every little problem you have. That is not their job – their job is to pass ACTUAL bugs onto developers to get them fixed. If they can’t verify that what you’ve given them is an ACTUAL bug in Microsoft software, what more can you expect? In this case, it seems quite clear to me that it’s not a Windows bug – something obviously has a handle to the file open and when something has a handle open, the fact that you can’t safely remove the device definately IS "by design."
Identify exactly what has the handle open, and if it’s a Windows component THEN you’ve got a bug that I would expect would get resolved. Raymond might have psychic powers, but most people don’t and just saying "I can’t safely remove my USB HDD" isn’t a bug report.
Anyway, this is sufficiently off-topic that I’m going to leave it at that.
Ok, at first that "No to All" thing made my day (it’s *so* not obvious). But now that hibernation hotfix has made my day even more. I recently installed an extra gig of RAM and hibernation has been acting up ever since. Especially annoying since it then disables the option entirely so you can’t try it again without rebooting.
Why can’t it at least have a "we think hibernation is broken, but click here to re-enable it anyway" option on the Hibernation tab in the Power options. That’s just aggravating.
OK, I made a clean install of Vista RC1 32-bit, installed only Microsoft’s drivers, and about 75% of the time it did give permission to disconnect a USB hard drive.
For builds 5536 and 5600 Microsoft asked us to try upgrading from XP instead of doing clean installs, so I had done that several times. (I think that’s impossible with 64-bit but haven’t tried it yet.) One time I had installed Sonic Record Now and DLA under XP before upgrading, so Vista’s installer instructed me to uninstall DLA and I obeyed. The other times I had not installed that at all. Maybe traces of some other XP driver remained. So if a troublesome non-Microsoft XP driver opened an unwanted handle to a USB hard disk while Vista was running (100% repro) but not while XP was running (either 0% repro or maybe 3% repro) then it must have been a video, sound, or touchpad driver. It still doesn’t make a lot of sense.
On one machine where 3% of the time Windows repeatedly refuses to allow disconnecting a USB hard drive and I have to shut down, I am running Windows 2003, standard mouse (not touchpad), completely unrelated video, and completely unrelated sound (yeah I enabled sound on it). So what makes the difference between 3% and 100%, and is it really a conspiracy of non-Microsoft drivers, I’m not going to be convinced easily.
One more result changed this time. Microsoft added or changed a sound driver, which Windows Update automatically found and I approved its installation. After that, for the first time ever, Vista on this computer rebooted without BSODing and then hibernated without BSODing. But on awakening from hibernation it BSODed and rebooted. Microsoft’s on-line explanation of this BSOD blames the video driver which is Microsoft’s XDDM driver. Since the behaviour changed this time though I wonder if the real culprit might be the sound driver which is also Microsoft’s. Maybe that’s why this BSOD was dismissed as non-reproducible inside Microsoft, only 100% outside of Microsoft. So this time I will not install the vendor’s touchpad driver, I will let Microsoft’s PS/2 mouse driver remain in control of the touchpad, which works “well enough”. There is no non-Microsoft stuff on this machine yet this time around.
Later I’ll try reading some files from a USB hard drive, maybe even take a chance writing some, and see if Vista will still allow disconnecting 75% of the time, or maybe even 97%. If it does then at least that much will be good news.
Longhorn is buggy be design?
"It’s not a bug, it’s a feature".
Not allowing extraction with open handles is just plain wrong. People are going to just unplug the drive anyway. If it fails most of the time, they will just unplug it without bothering to select safe extraction or whatever it’s called.
It should display a warning, and if the user selects yes, close all the handles forcefully and flush the filesystem cleanly. I’ve been doing this manually for some time and nothing wrong ever happens. (Though closing all the handles won’t mean you’ll get permission, I guess prehaps change notificacions and working directories aren’t handles?)
I haven’t had the chance to test Vista yet, but if explorer’s preview facilities / thumbnail generation are as weak (and hang as much) as XP’s, a lot of people aren’t going to be able to extract their drives. It’s ridiculous when a JPG image has 25 handles from explorer.exe, and don’t even get me started on video files (and no, this is not the fault of some third-party codec, it happens on a clean installation).
Blocking a file several seconds to generate a thumbnail is ill-advised too, but that’s another story.
Congratulations to Norman for derailing yet another interesting post with his whining about bugs that are completely unrelated to the current topic.
PingBack from http://blogs.msdn.com/oldnewthing/archive/2007/02/02/1582983.aspx
PingBack from http://ashleigh.id.au/?p=590
PingBack from http://blog.rsynnott.com/windows-ui-design-madness.html
PingBack from http://blogs.msdn.com/oldnewthing/archive/2008/01/14/7103585.aspx