TrayBlank screen saver utility
TrayBlank started off as a tool to help me test JPEG Saver. I needed to check the way it worked when properly run as a screen saver, and not just when manually started by double-clicking the program icon.
Starting a screen saver by double-clicking the .SCR file runs it as a standard program, with a normal priority. When Windows starts the screen saver, it is run with a lower priority and could also be on its own desktop, depending on the version of Windows and the security settings.
You can download the latest version of TrayBlank from the downloads page.
What TrayBlank does
When you run TrayBlank it will put a black icon in the system tray (otherwise known as the shell notification area) and sit there waiting for input. The icon has a progress bar at the bottom that decreases in size to show when TrayBlank thinks Windows is going to start the screen saver automatically.
The progress is based on the “idle time”, which is the length of time since the last keyboard or mouse input. Some programs (generally media players, games or full-screen applications) can prevent the screen saver from activating after this time has elapsed - if they do this using a method TrayBlank can detect, the progress bar will be removed and the icon will turn grey until the system resumes normal operation.
TrayBlank will also check the power settings to determine the monitor power off time, adding this to the tooltip. If the monitor will be turned off before the screensaver is started TrayBlank will replace the standard progress bar with a zig-zag yellow progress bar marking off the time until the screen goes off.
Double-clicking on the icon will start the screen saver.
Hovering over the icon will display a tooltip containing the name of the current screen saver, and the timeout value selected for when the screen saver should start.
Right-clicking the icon will display a popup menu, shown here, with these options:
“Start screensaver” — starts the screen saver in the same
way as when the icon is double-clicked, by sending a SC_SCREENSAVE
command message to the operating system.
“Turn off monitor” — sends a SC_MONITORPOWER
command to the system that should send all monitors to sleep, just as though
power management had turned them off. If you have more than one monitor you can
change this behaviour with the “Monitor power-off” menu, described
below.
“Configure screensaver…” — opens the configuration dialog for the current screen saver, if it has one. This works in the same way as the “Settings” button on the Screen Saver tab in the Display Properties control panel applet.
“Choose screensaver…” — this item opens the Control Panel's screen saver settings dialog, where you can choose the screen saver to use and change its timeout delay.
“Set timeout” — displays a submenu where you can choose from a number of timeout values. The current timeout value will be checked (unless you set it to a value that is not in the list using the Control Panel).
Hotkeys
TrayBlank supports the use of global hotkeys to start the screen saver, to turn the monitor off and for configuring the screen saver. When enabled, the current hotkeys are shown next to the relevant menu items.
The Hotkeys submenu has an option to enable or disable all the hotkeys, and a “Setup...” item - this will pop up a small dialog where you can press the key combinations you want to use to trigger the “Start screensaver” and “Turn off monitor” functions. You can turn each hotkey on or off in here too.
Screensaver start
This submenu has some options for fine-tuning how TrayBlank starts the screensaver. The options are:
“Delayed” — adds a short delay before starting the screen saver. This makes it easier to let go of the mouse after double-clicking the TrayBlank icon without any small movements making the screen saver exit straight away.
“Directly” — makes TrayBlank start the screensaver by running it as a new process instead of signalling Windows to start the screensaver. Running the screensaver directly means that it does not run on its own desktop, so it can interact with your main desktop. Enabling this option adds a small arrow to the tray icon to show when it is active.
“Directly after timeout” — is only available when “Directly” is enabled, and attempts to start the screensaver directly when TrayBlank thinks that Windows would start it automatically (i.e. when the progress bar has gone completely). Enabling this option changes the tray icon to show when it is active.
Monitor power-off
If you have more than one monitor on your system, you should see this submenu beneath “Screensaver start”. In here you can choose whether the “Turn off monitor” option turns off all monitors, or just specific monitors.
When using this option, the cursor is moved off of any screens that are turned off and the monitors are turned back on when the cursor enters a screen that has been blanked.
Note: this works by sending the monitors a VESA Monitor Control Command Set (MCCS) Virtual Control Panel (VCP) code telling them to turn off. Some monitors will support it and some will not. On monitors where it is not supported, TrayBlank will open a full-screen black window over that monitor's display area instead.
In the case of the two monitors I am using, one doesn't support the command and the other does. The one that does support it really does turn off and back on again - when TrayBlank turns it off I can use the power button to turn it back on.
Version history
- Version 1.11
- 27/04/2021 — Added per-monitor power off/blanking options.
- Version 1.10
- 28/11/2019 — Added monitor power-off timeout to tooltip, changed progress bar when monitor power-off comes before screensaver activation.
- Version 1.9.1
- 27/01/2018 — Added 64-bit version, improved “About” window, completely new installer.
- Version 1.9
- 02/08/2017 — Improved progress bar, greying out icon when the display is active. Added options to start screensaver directly on demand and after timeout.
- Version 1.8
- 26/05/2017 — Disabled screensaver start and configure options and the progress bar when there is no screensaver selected. Notification message now shown when hotkey is used or icon is double clicked and the screensaver is not set.
- Version 1.7
- 10/05/2016 — Added configure hotkey and checkboxes to enable each hotkey independently.
- Version 1.6
- 14/03/2014 — Added screensaver start delay option. (Not released publicly)
- Version 1.5.1
- 06/11/2013 — Fixed bug where application could crash if started with no screen saver set.
- Version 1.5
- 03/11/2013 — Added screen saver name to tooltip. Added timeout setting menu.
- Version 1.4
- 11/09/2013 — Added progress bar, timeout tooltip. Starting while already running will now wake up the existing process.
- Version 1.3
- 13/07/2012 — Added screen saver existence check before attempting to start the screen saver. The icon will now reappear after Explorer is restarted.
- Version 1.2.1
- 13/05/2010 — Fixed saving of options when system rebooted without explicitly exiting TrayBlank.
- Version 1.2
- 16/02/2010 — Added global hotkey support.
- Version 1.1
- 2009 — Unreleased version.
- Version 1.0
- 14/08/2003 — Initial release.
Ah, but what about...
If you have any questions, suggestions for improvements, or discover any bugs, please contact me at the usual address: graham(at)goat1000.com.