in

ASP.NET Weblogs

The DreamLand Express - Charles Oppermann's Software Blog

Commentary on software design, development and management

January 2004 - Posts

  • Keyboard access to the Windows taskbar

    [Edited 2011-03-31 to fix a typo.  Also note that WIN+T in Windows Vista/Windows 7 will set focus to the first taskbar item]

    [Edited 2004-01-29 to fix mistakes]

    Windows 95 introduced the “taskbar.”  Designed to remind users what programs were running and to provide a single STARTing point, it was intuitive and original1.

    I didn't join the Windows team until late in the development cycle and there was no keyboard access to the taskbar, often known as the “tray“.  With Nashville, the codename for shell-intergrated Internet Explorer, the taskbar code was completely rewritten and given basic keyboard access.

    The taskbar is really a series of sections.  At a minimum, there will be three sections.  The first is the Start button, the second is the series of open windows commonly known as the taskbar.  The next section will be the taskbar notification area, which includes the clock and any notification icons, like the Volume control, and Dial-Up networking status.

    Normally, the taskbar doesn't have focus - one of the open windows does.  There is no direct keyboard shortcut to the taskbar, but there are a couple of ways to get it focus.  The first is to open the Start menu by pressing it's shortcut.  That would be the Windows key, or CTRL+ESC for keyboards without a Windows key.  The Start menu will appear and have keyboard focus.  You can use the arrow keys to move around the menu and press Enter to select an item.

    To set focus to the taskbar, you can press ESC to dismiss the Start Menu.  The keyboard focus will then be placed on Start button.  Notice the faint dotted rectangle indicating focus. Pressing Space or Enter will open the Start Menu again.  Pressing the Context Menu key or the older SHIFT+F10 shortcut will present the shortcut menu for the Start Menu.

    With the focus on either the Start Menu itself, or the Start button, pressing the TAB key will move focus to the next section.  This maybe the Quick Launch toolbar, or the buttons representing open windows.  Each acts like a toolbar, and you can move between the items with arrow keys.  Pressing Space or Enter activates the item just as if you clicked on it.  Similarly, pressing the Context Menu key or SHIFT+F10 will present the menu for that item.

    Pressing TAB again moves to the next section - either an enabled toolbar or if none, the tray notification area.  The focus will be placed on the first icon.  Unlike a toolbar however, the tray icons have three methods of input - primary (left) click, secondary (right) click, and primary double-click.  When keyboard focused, pressing Space performs the same action as primary click, while the Enter key is the same as a primary double-click.  The Context Menu key or SHIFT+F10 would do the same as a secondary click, normally presenting a context menu for the item.

    To see this in action, play around with the Volume icon.  It's disabled by default in Windows XP, you might have to enable it first.

    A single click on the Volume icon presents the volume slider control.  When focused, the slider will appear after pressing Space.  A secondary (right) click produces a context menu with two items, “Open Volume Control“ in bold letters and “Adjust Audio Properties“.  The bolded item indicates the default action when the icon is double-clicked. To replicate the double-click, press Enter and the full Volume Control appears with several sliders.

    The notification icons are always the last section.  If you press TAB while on any icon, focus is given to the desktop.  Note that focus is actually on the Desktop itself since no icons are selected.  Pressing Context Menu or SHIFT+F10 here gives you the (in)famous desktop menu.  Pressing Space will select whatever icon has focus.

    Pressing TAB while focus is on the desktop will move focus to the next toolbar is enabled (such as Address bar docked to one edge of the screen).  If no other toolbars are enabled, focus will be given to the Start button and the cycle is started over.

    Basically, if you are a keyboard-only user, the taskbar has full functionality available.

    There is one piece of functionality I didn't demonstrate, and that's the ability to turn on or off other Toolbars.  That can ONLY be done from the taskbar context menu.  Usually the cursor is placed over a empty area of the taskbar and a secondary click is done.  A Toolbars sub-menu lists those installed.  To get to the taskbar context menu, you have to get the focus on the clock and press the Context Menu key.

    If you want to play around with the keyboard, note that the taskbar can be moved and resized by the keyboard.  Press ALT+Space to activate the system menu.  Choose Move and press the arrow keys towards the new screen edge the taskbar should dock to.  Nothing will appear to happen at first, but as you get near the screen edge, the taskbar will snap from it's old location to the new one. Press Enter when finished to exit the Move or Size operation.

    The keyboard access to the taskbar and desktop is hardly optimal, but fits with Windows overall keyboarding scheme.  When other toolbars are enabled, quirks get into the mix, so I can't recommend them.  For those users who are forced into keyboarding only due to physical or machine limitations, this functionality can be very useful.


     

    1 No, the Apple menu bar does not count.  Ever try figuring out what other programs are running on a Mac?  Maybe it's easier now with OS-X.

  • Say it ain't so Dennis

    I TiVo'ed Dennis Miller's new show on CNBC Monday night.  Watching it today and boy, it's awful.  I chuckled a few times, but for the most part it bombed.

    My friends know I've been a fan of Dennis Miller ever since memorizing lines from his first comedy album; The Off-White Album.  I saw him in concert, in Tampa, 1992 and ten years later in Seattle.  In between, I've followed his short lived late night talk show stint, bought albums, DVD's, books and books on tape.  His long running show on HBO was one of the first in a series of high quaility original programming that has defined HBO of late.  I even liked his brand of wit as the color commenter on Monday Night Football.

    After watching his latest HBO special last year; The Raw Feed, I saw him shifting to the right, with a mean-spiritedness of some jokes.  His trademark wit takes a back seat to vengence-fueled rage against the enemy.  Then I heard he was cracking jokes at Republican fund raisers and riding on Air Force One.  That lead to a commentary role on FOX's Hannity & Colmes show and now his own show on CNBC every night.

    But wait, this isn't “Weekend Update“.  It's hard to be original in yet another weeknight political talk show, but I'm giving him credit for having a chimp as a occasional side kick, a la Mr. Muggs with Dave Garroway on the Today Show in mid-1950s.  Future shows will also have a “magic word“ just like “You Bet Your Life“ with Groucho Marx.  He's doing the show without an audience, with just the production crew yucking it up just like Tom Synder on the “Tomorrow Show“.

    Scary sounding is a future gimmick where he'll split screen two people with opposing views, and move the split to give more room to the person he agrees with.

    Sadly, the first show was quite a disappointment for me.  The first half hour was taken up with Gov. Arnold Schwarzenegger.  The first few minutes we learn that Dennis worked for the Govinator during the election and how Dennis loves Arnolds style.  While all the talk of Proposition this and California's budget woes dragged on, I was madly fast forwarding to something more interesting.  I can't imagine that much of the East Coast audience bothered to stick with conversation.  Speaking of “stick”, Miller knowingly joked that an assistant forcably removed one from his ass during the commerical break after the interview.

    Not much was funny, nor particularly insightful.  The opening monologue was stiff, with several jokes bombing completely.  Miller's material usually goes over half the audenice's head, but when you're riffing with a few stage directors and union organized camera people, “tough room” has a new meaning.

    “Varisty” is the panel segment, where three talking heads offer their views - just like Bill Maher's “Real Time”, which replaced Miller's HBO series.  Except in Dennis' version, it was three against one.  The lone voice of the left was feminist author Naomi Wolf, who was immediately poked by Miller, remarking that they did the stage with “earth tones”, a reference to Wolf's consulting to Al Gore during the 2000 election.  I'd never heard her speak before, and wasn't familar with her writings, but after presenting herself very well in the face of 3 guys advocating war, I was highly impressed.

    To summerize, Miller's insight on right-wing politics is nothing new, and in this new daily format, his humor lacks the honed run-on sentences of off-the-wall pop culture anologies that made his trademark rants so cutting.  But this version is as dull as a tool made by those freaky apes at the beginning of 2001.

    That's just my opinion, I could be wrong.

  • Outlook 2003 rant

    OL2003 is the latest evolution of a very sophisticated application, there are many improvements, including excellent junk mail handling, and the space saving two-line view.

    There are many little nits however.  Today’s nit is that OL2003 hides public folders from view.  The new navigation bar replaces the older “Outlook Bar” and “Folder List” window panes by combining the functionality of both.  When you select Calendar, the various calendar folders are listed as “My Calendars”.  Similarly with Contacts, only those contact folders you select are shown.

    However, when the Mail navbar button is chosen, a tree view is shown in the middle pane, while a flat list of “Favorite Folders” is shown at the top.  This tree view resembles the “Folder List” pane from previous versions, with a difference – non-mail folders are not shown.  This is a huge improvement, because Contact, Task, Calendar folders aren’t cluttering the overall list.  This is especially useful if you have multiple personal storage (PST) locations.

    One downside however is that Public Folders are not shown in this list.  Public Folders appear when you are connected to a Microsoft Exchange server.  At Microsoft, for example, there are thousands of public folders, ranging from shared contacts for a particular team to mailing list archives.  Some corporations use Public Folders as a NNTP gateway to Newsgroups.

    In order to see Public Folders, you have to choose the Folder List navigation button, which then shows all the folder items, just like the older “Folder List” pane.

    My suggestion to the Outlook dev team would be to consider implementing one of the following:

    1.       Have a “Public Folders” navigation button.  When selected, it shows an expanded tree view starting at the root Public Folders node.  Use the top pane for “Favorite Public Folders” showing the selected favorites.  This navigation button can be deselected by default (just like the Journal button) and if not connected to a Exchange account, the UI could be hidden.

    2.       Simply include the Public Folder nodes in the All Mail Folders tree view.

    Later I’ll rant on two-line view quirks.

  • Learning Perl

    I'm finally learning the Perl language.  Being a Microsoft guy for so long, I really stuck with C/C++/C#, VB, VB.NET and VBScript.  I even wrote client-side scripting in JScript and not JavaScript. :-)

    This will be my second new language in the past four months.  Previously, for my last project, I was doing some basic, and intermediate T-SQL scripting against a large database.  While quirky, T-SQL is a complete programming.

    In that project, all the product build scripts were written in Perl, which I found pretty hard to read.  Of course, commenting was non-existant, and many of the scripts were wrapped in Windows Script Files (.wsf), which used VBScript or JScript to launch the Perl scripts.  It was maddening.

    Now, I'm going to be expected to write server-side Perl scripts for back-end functionality of web-based directory services applications.  I picked up the O'Reilly book, Programming Perl, which seems very complete.  It's been a long time since I started reading a computer book at Chapter 1, but so far, so good.

    I've been able to avoid non-Microsoft languages for awhile, because frankly, I've been able to do everything I've needed to without them.  But with Perl, I'm beginning to think that it's going to be the best tool for the job.  I'll post more on this later.  Comments welcome, particularly on using Visual Studio to edit Perl files.

  • Outlook.exe

    On the excellent Windows Tech Off-Topic mailing list, someone was wondering about a e-mail replacement for Microsoft Outlook, while another cautioned that Outlook is really a PIM and not just a e-mail app.  Here's my reply:

    Integration is what makes Outlook great; however, it's also a hindrance.

    Trying to keep two windows open is quirky. Let's say I load Outlook by pressing the Mail button on my keyboard, or choosing the E-mail item on the Start Menu. It takes me to the Inbox. Then I open the Calendar in another window. The Inbox view will have the folder list, but not the new window. If I close the Inbox window, the Calendar window becomes the main Outlook window. If I press the Mail button again, the Calendar window is recycled and becomes the Inbox. I cannot reliably get Outlook to use separate windows for Calendar, E-mail and Tasks.

    That's because it's all one big executable. While connecting to a server, and downloading mail there may be annoying pauses that prevent you from doing anything in the UI.

    However, OL2003 is much better with it's server communication.

    I sometimes wish that Outlook was three applications, Mail, Calendar and Task list, with good interoperability between them.

    Imagine a robust Windows-based suite of applications based on internet standards.  E-mail using MIME, communicating with servers over POP and IMAP.  Calendar using iCal, and Address Book using vCard (or leveraging the existing Windows Address Book.  For task management, I'm sure there is an existing XML schema available.

    Is such a set of applications available currently?

  • Combo Box Shortcut Keys

    Combo boxes in Windows can be dropped down using the keyboard.  Press F4, or ALT+Down Arrow or ALT+Up Arrow. 

    Posted Jan 14 2004, 10:10 PM by ChuckOp with 3 comment(s)
    Filed under: ,
  • Ghostzilla - the secret browser

    When you can't browse because of who might be looking over your shoulder.

    This very nifty, full-featured browser doesn't show anything when first loaded.  When you gesture with the mouse, the browser subtly appears within the confines of an existing application window of your choosing.  But instead of showing the color and graphics of many web sites, the pages are rendered using gray text, with images hidden until you mouse over them.

    Boss starts looking closely at your screen?  A quick mouse gesture hides the browser.

    Based on the Mozilla open source project.  See the screen shots and animation of how it works at http://www.ghostzilla.com/

    Posted Jan 12 2004, 11:00 PM by ChuckOp with 1 comment(s)
    Filed under:
  • Windows Task Manager Keyboard Shortcut

    The Windows Task Manager is a handy tool to monitor the load on the machine.  To quickly call it up via the keyboard, press CTRL+SHIFT+ESC.

    Posted Jan 08 2004, 10:25 PM by ChuckOp with 1 comment(s)
    Filed under: ,
  • NewsGator + .TEXT Posting Plug In

    This post is testing the NewsGator plug-in for the .TEXT blogging software.  Combined with the Windows Media Player blogging plug in, I should be able to take advantage of Outlook to post to my blog.  We’ll see…

    [Now Playing: Deep Purple - Hush (04:27)]

    Posted Jan 07 2004, 08:28 PM by ChuckOp with 1 comment(s)
    Filed under:
  • Minimize Outlook to notification area

    Outlook 2003 has an option that allows it's window to be minimized to the system notification area, near the clock.  You can also have Outlook 2002 do the same thing, with some registry hacking.

    For OL2003, the option can be found by right-clicking the Outlook icon in the notification area.  Choose the “Hide when minimized“ option on the menu.

    For OL2002, there is no user interface available to turn on the option.  By modifying the registry, you can control the behavor.

    The registry path is:

    HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Preferences

    The registry key is called “MinToTray“ and is a DWORD value.  If the key doesn't exist, use RegEdit to create it.  When set to a non-zero value, typically 1, the feature is turned on.  Setting it to zero turns the feature off.

    If you have Windows XP or later, copy the following command and paste it into Run dialog:

    reg add HKCU\Software\Microsoft\Office\10.0\Outlook\Preferences /v MinToTray /t REG_DWORD /d 0x01

    The REG.EXE program is included with Windows XP, and I believe was available for earlier versions as part of the Resource Kit.  It's a very handy program.

    After making the change, you'll need to restart Outlook 2002 for it to take effect.

    FYI, in case you're wondering, OL2003 uses the same key name for it's option, so you can use the registry to turn it on or off as well.  However, change the registry path to reflect “11.0” instead of “10.0”.

    Can anyone try this on OL2000 and let me know if it works there as well?  The path for that would be “9.0”.  Thus:

    Outlook 2000 (unverified):

    reg add HKCU\Software\Microsoft\Office\9.0\Outlook\Preferences /v MinToTray /t REG_DWORD /d 0x01

    Outlook 2002:

    reg add HKCU\Software\Microsoft\Office\10.0\Outlook\Preferences /v MinToTray /t REG_DWORD /d 0x01

    Outlook 2003:

    reg add HKCU\Software\Microsoft\Office\11.0\Outlook\Preferences /v MinToTray /t REG_DWORD /d 0x01

    Posted Jan 07 2004, 01:47 PM by ChuckOp with 13 comment(s)
    Filed under: , ,
More Posts Next page »