Windows 7 Taskbar: Thumbnail Toolbars

פברואר 26, 2009

Let’s recap what we’ve seen so far.  We’ve started with the fundamentals of the Windows 7 taskbar APIs and the scenarios they address, reviewed the concept of application id, enriched the taskbar button with progress bars and overlay icons, and took a deep long look from all angles at the jump list, including recent/frequent categories, user tasks and custom destinations.  The next feature on our desk(top) today is thumbnail toolbars. Thumbnail toolbars are another productivity feature that gives us the ability to do more without actually switching to another application’s window.  A thumbnail toolbar is essentially a mini...
tags:
11 comments

Windows 7 Trigger-Start Services

פברואר 25, 2009

I’m interrupting our scheduled series on the Windows 7 taskbar to talk about something entirely different: Trigger-start services.  (Don’t worry, we will resume the exhaustive overview of all taskbar features fairly soon.) Over the years, as Windows has become more complicated, more and more background services were added to the system.  Componentization and new features are the two primary forces behind this current.  Hardware and software manufacturers have jumped the opportunity – webcams, IM clients, MP3 players and photo editing applications all seem to have a burning desire and need for a background service doing something. And...
2 comments

Windows 7 Taskbar: Custom Destinations

פברואר 24, 2009

We’ve already seen how to use the recent and frequent jump list categories in our Windows 7 taskbar jump list, and how to add user tasks to the jump list, enabling additional custom functionality. However, most file-oriented applications will also benefit from the ability to add custom destinations grouped into categories to the taskbar jump list, providing additional destinations beyond the recent and frequent ones populated by the system. A custom destination is a categorized entry in the application’s jump list, typically representing an item that the application can open and handle.  For example, Internet Explorer 8...
tags:
one comment

Windows 7 Taskbar: User Tasks

פברואר 23, 2009

In the previous installment in this series, we have seen how the default support for recent and frequent documents provided by the operating system can give our application’s jump list a default vivid appearance without any effort on our part.  We have also seen that in specialized custom scenarios, it’s possible to add items to the recent/frequent categories explicitly. In this post, we will look into customizing the jump list with user tasks, which are shortcuts to functionality our application can provide.  As you might remember, user tasks are the verbs in our vocabulary: Windows Media Player provides...
tags:
3 comments

Windows 7 Taskbar: Jump Lists

פברואר 20, 2009

The Start Menu has long been with us; it provides a launch surface for applications and recent documents.  The Vista Start Menu revolutionized the accessibility of these applications and documents by giving us the amazing Search box which can enhance productivity in so many ways.  However, in spite of these improvements, it still cannot provide access to tasks and documents that are specific to a single application.  When the application is up, it can show us a menu or offer common tasks – but if the application is not running, the only thing we can do is start it...
tags:
5 comments

Windows 7 Taskbar: Overlay Icons and Progress Bars

פברואר 16, 2009

Let’s get the easy stuff out of the way before we start building jump lists and customizing live previews.  How do you leverage the cool functionality of having a dynamic overlay icon on your taskbar button or a multi-state progress bar? For an overview of the fundamental features themselves and the managed wrapper library, you might want to read previous posts in this series.  This post assumes you’re up to speed on the above, and have a copy of the managed wrappers (Windows7.DesktopIntegration) from Code Gallery. By using overlay icons and progress bars, your application can provide contextual...
tags:
one comment

Windows 7 Taskbar: Application Id

פברואר 15, 2009

Before we can address the subtleties of using various features that have to do with taskbar buttons, we must understand how these taskbar buttons are assigned and created in the first place. The most natural inclination is to say this: If you have multiple top-level windows* created by the same process, then they all belong to the same taskbar button.  Furthermore, if you have M instances of that same process (with possibly N windows displayed by each instance), then these MxN instances all belong to the same taskbar button. This intuitive approach works very well...
tags:
4 comments

Windows 7 Taskbar: APIs

פברואר 12, 2009

After all the introductions (see also the Windows 7 blog), there’s nothing left but to dive into the APIs you need to leverage the new Windows 7 Taskbar functionality.  The SDK contains reasonably good documentation for this stage of the product.  However, the documentation addresses the native code developer - Win 32 API and COM. What about all the managed code developers out there who want to opt into the Windows 7 Taskbar experience?  In the near future, the Windows Bridge (still a code name) project will include Windows 7 features like the Taskbar and Libraries.  However, until that...
tags:
7 comments

A Spoiled Riddle

פברואר 8, 2009

Here’s a C riddle: The following program was obviously expected to assign 1 to all the prime indices in the array and 0 to all the others.  However, it enters an infinite loop.  Explain. #define ARR_SIZE 10   IsPrime(n) int n; {     int i;     for (i = 1; i < n; ++i)         if (n % i == 0) return 0;     return 1; }...
tags: ,
no comments

Enable Windows Search Indexing on Folders

The Windows Search, introduced in Vista as part of the core operating system, is an extremely valuable tool in my pocket.  I barely ever use the start menu, ever – and why would I, if every program is just a few keys on the keyboard away? Windows Search indexing (for faster search results) is enabled by default on most of the locations you’d want it to index, but what if your app has a particular scenario in which it uses Windows Search but wants to use it to search non-indexed locations? The...
one comment