Windows 95 Notification Area and Background Tools
When Windows 95 introduced the Taskbar, it also debuted the notification area—widely known as the system tray—to provide a persistent, compact space for system statuses and background utilities. Rather than cluttering the primary taskbar with full-sized application buttons, Windows 95 allowed background programs to place small status icons near the digital clock, creating a standardized way for users to monitor and interact with non-intrusive software.
The mechanism behind this feature was the Win32
Shell_NotifyIcon API. Developers could call this function
to add, modify, or remove an icon within the notification area by
passing a structure called NOTIFYICONDATA. This structure
defined the program's window handle, an application-defined identifier,
the icon itself, and a custom Windows message.
Visual presentation was deliberately minimal:
- Icon Size: Background tools were restricted to 16x16-pixel icons to fit neatly within the default height of the Taskbar.
- Separation of Concerns: Main applications occupied the primary section of the Taskbar as rectangular buttons, while passive or background processes were confined to the recessed tray on the far right.
- Tooltips: Moving the mouse cursor over an icon displayed a brief text string, providing quick status readouts—such as printer spooling progress or battery percentage—without requiring a click.
To allow users to control these background processes, the notification area routed mouse actions back to the application. When a user interacted with an icon, Windows forwarded standard window messages (such as left-click, double-click, or right-click) to the hidden message-handling window specified during the tool's registration.
This interaction model enabled standardized software behaviors:
- Double-clicking an icon typically opened the application’s primary user interface or configuration window.
- Right-clicking summoned a context-sensitive pop-up menu, giving the user access to quick commands, settings, or an option to exit the background process entirely.
Although Microsoft originally designed the notification area for hardware and transient system states—such as volume control, PC Card swapping, and print monitors—software developers rapidly adopted the API to keep long-running utilities running silently in the background.