IntroductionI designed and created the Automatic Wallpaper Changer (AWC) simply because I like to change the wallpaper of my desktop regularly. All the programs I located on-line that change the desktop were too complicated for my simple needs, or just plain rubbish, and anyway you usually had to pay silly amounts for them.
I think that the program I've ended up with does a pretty good job, so I've decided to let everybody else share. I've benefited over the years from other authors' freeware so this is my attempt to pay back the favour.
It's become considerably more sophisticated and powerful over time but is still pretty straightforward and should satisfy 99% of users' needs. It is released into the public domain as freeware. I retain copyright and IPR. You may use this version of the program without charge and without time limit. You may distribute the installation program to anybody you want as long as you do not charge for it and do not change it. The software is provided without warranty on an as-is basis (hey, what do you expect for free?).
AWC is freeware, you don't have to pay anything if you don't want to. There are no nag screens or registration requirements. If you like it though, and would like to contribute something to the costs of development, you can click on the donate button below. Just £5 would be great (though if you'd like to make me rich, feel perfectly free!). Thanks and I hope you enjoy using AWC.
The AWC is designed to do one thing well: allow you to change your desktop wallpaper on a timed basis. The time between changes is defined as a number of seconds, minutes or hours.
The displayed image can be resized for the best fit to the screen, optionally maintaining its aspect ratio, or displayed at its actual size. There are a number of resizing methods available so you can choose the one the gives the best quality and performance for your system.
In Windows versions after Windows 98 the user is not limited to the centre of the screen when displaying a picture, as is usually the case in windows, but can choose to display the picture in any of the four corners of the screen or centred on one of the edges. Additionally you can specify that files smaller than a predefined size should always be tiled: again you can specify how the tiles are laid out on the screen rather than simply going from the top left.
There are lots of options for tweaking the picture to ensure that you get the best possible result on your system.
The AWC is minimised to the system tray rather than to the task bar. To restore it to view just double-click the icon in the tray or right click to pop up a menu.
Image formats supported are BMP, JPG, JPEG, GIF, PNG, PCX, TGA, RLE.
I've tried to make using the AWC as simple and intuitive as possible. If you hover your mouse over one of the elements of the screen you will get a pop-up tooltip that gives a short description of what it does. The name of the currently displayed file appears in the caption bar.
Enter the full path to the directory you want to use as a source for your pictures. You can browse for a directory by clicking the button to the right of the textbox. The pictures in this directory will be selected at random for display each time the wallpaper is changed.
When checked, any picture files in subdirectories under the specified directory will be included in the list of images to display.
Enter the amount of time you want to elapse between changes. You can change the type of time period (hours, minutes or seconds) you want to use on the Preferences screen.
You can select one of the option buttons to determine where the picture should be displayed on the screen to best suit your requirements.
Please note that the positioning does not work under Windows 98 or if you have active desktop enabled AND active content displayed.
Restarts the change process by applying any changes you have made to settings and changing the desktop wallpaper immediately. Pressing repeatedly will keep changing the wallpaper and reset the timer. The list of files that will be used in the change process is built at this point. If you add more files to the source directories they will not be displayed unless you restart the process or enable the Check For New option.
Note that if you have a very large number of picture files available, pressing the start button each time you want to change the picture can cause a bit of a delay because the list of files is rebuilt each time. If you just want to change the picture using the currently applied settings you can use the Change Pic option on the File menu (keyboard shortcut =
) or on the system tray icon's pop-up menu.
Stops the timer so that the change process will not be triggered. Clicking again will set the timer going again.
Saves your current settings to the registry. If you save your settings then the next time you open the AWC the change process will begin immediately and the application will be minimised to the system tray.
This button is normally disabled. It is enabled when you make changes to the settings. This serves as a reminder that you should save you settings if you want them to be used in your next AWC session.
Copies the fully qualified path and file name of the file currently displayed to the clipboard.
Open For Editing
Opens the file that is currently displayed in the default editor for that file. Note that this requires that the file type has a file association configured for it. (7th August, 2004) You can now override this behaviour in the preferences screen, see below.
You can change the way that AWC works by setting your own preferences. The Preferences screen is activated by selecting the Preferences option on the File menu.
The preferences screen itself is divided into three tabbed pages which group similar types of option together.
This page allows you to change the basic options of how the software should operate.
Allows you to set the period type to be hours, minutes or seconds.
Allows you to set which menu option should be executed when double clicking on the icon in the system tray.
Allows you to select an icon for use in the system tray. The filename must be of type *.ICO. The change will take effect next time you start AWC (don't forget to save settings before you close the application).
When checked the AWC will ensure that no picture in the list of available pictures is redisplayed. The FileCount part of the current file number indicator will decrement on each picture change until it reaches 1. When all images have been displayed the AWC will be restored to view and the user informed that there is nothing left to display. Clicking the Start button will reset the file list and begin the process again.
Preserve File List
Causes the current list of files to be saved to disk. Next time the AWC is loaded it will load this list rather than reading the specified directory for files. When combined with the No Repeats option this allows you to ensure that all the files will be displayed, without any repeating, even across sessions. So, if you start out with one hundred files when you click the Start button and have only displayed 25 of them by the time you turn off your PC, setting this option will mean that the next time you run AWC the 75 files that hadn't been displayed yet will be loaded instead of reading everything in the original directory.
Reset If File Not Found
In normal operation AWC will generate a file not found error if one of the files in the list of available pictures is deleted from the source directory after starting the change process and the picture is then selected for display. Restart On Not Found allows you to prevent the error message being displayed by forcing a restart of the change process instead. The current settings are used. Note that a restart will mean that the No Repeats history is reset.
Reset If No More Files
When checked the AWC will reset its file list when there are no files left in the current list. Previously a message was always displayed to warn the user that all files had been shown.
Check For New
Enabling this setting will cause the AWC to check your selected source directory for any newly added files on each change of the wallpaper. Use with caution as very large lists of files could have an impact on slower PCs' performance.
Note that Windows stores a number of dates against a file: it is the 'Created date' that is used when checking for new.
Clear Wallpaper on exit
Indicates that the desktop wallpaper should be cleared on exiting from the AWC. When this option is set the AutoWall.bmp bitmap that is used to actually display the wallpaper is deleted from the hard disk when the application is closed.
Confirm Before Change
When checked you will be asked if you want to allow the wallpaper to change when the timer fires.
Show File Name
Shows the fully qualified path name of the displayed file in the top left corner of the wallpaper.
Allows you to select the font to use when the file name is displayed.
Background and Text Colour
Click on the coloured box to change the colours that will be used to display the file name.
Don't show file path / extension
Allows you to suppress display of the file's full path and extension.
Not for tiled, small pictures
Turns off file name display if the picture is tiled as a result of being smaller than the specified tile size.
Enable Hot Keys
Switches on global hot keys for certain actions. These will cause the related actions to operate even if AWC doesn't have the focus on the desktop or is minimised. Available keys are:
CTL+ALT+G : Change picture
CTL+ALT+R : Restore the AWC window
CTL+ALT+L: Clear the desktop picture
Use EXIF orientation
The EXIF standard specifies a means of storing additional information about an image in the image file itself. This is typically used by modern digital cameras to record data such as date and time etc. Many of the cameras can also detect their orientation when taking a picture (portrait, landscape etc.) and record it in the EXIF orientation field. Checking this checkbox makes AWC read the orientation field and automatically rotate the image so that it is displayed correctly on screen.
No Change If Locked
Tells AWC not to change the wallpaper if the screen is currently locked. The screen is considered to be locked both when the user explicitly sets it so and when the screen saver is running. Note that for versions of Windows before Windows 2000 the screen saver's Password protected check box must be checked for the screen to register as locked.
This page lets you control how the picture is manipulated before being set as your wallpaper.
You can select how pictures that do not fit the screen should be stretched or shrunk to give the fit you want.
When Best fit is selected, any pictures that are larger or smaller than the screen dimensions will be resized to the best fit for the screen, preserving the picture's shape. Positioning settings are still used.
Full screen will stretch the picture in both dimensions as required to fill the screen completely. Obviously this is likely to distort the picture somewhat.
Worst fit is the opposite of best fit. The aspect ratio is still maintained, so there is no deformation, but the image is resized to fill the screen completely. This usually means that part of the picture will be off screen. Be careful what picture positioning you use or the results may not be what you expect.
If you check the Always shrink large pictures box, pictures that are too large to fit on the screen will be shrunk to fit even if you have selected No stretching otherwise.
You are provided with a number of resizing methods. As you move down the list the picture quality of resized images tends to better for a corresponding increase in CPU time required to perform the process. Simply choose the one that gives the best results for you.
Bilinear is the default and should provide reasonable stretching and shrinking results on most systems for minimal CPU use. Higher spec PCs (pretty much anything that will run XP) typically benefit from using Catmull-Rom or Lanczos.
The three sliders can be used to give you an adjustment of the colours to get the best results on you particular monitor. Simply slide to the right to increase and to the left to decrease. If you double-click the value label the slider is reset to its default, unadjusted value.
Allows you to apply a sharpening process to the displayed picture to improve image quality. Simply choose the one that works best for the type of pictures you are using. Note that on slow systems the additional time required to apply the filter can be significant.
Allows you to specify a special effect to the image before it is displayed. There is currently a fairly limited set of effects. I'll expand and improve as I get a better handle on this kind of image manipulation.
Specify external editor
By default, if you select Open for editing from the Edit menu, the current file will be opened in the application associated with the file's extension. Here you can specify that your preferred editor should be used instead. Note that this override applies to all file extensions.
Refresh desktop after edit
When checked, AWC will redisplay the edited image on the desktop when you have finished editing. The editing session is deemed to be finished when you close the program you used to do the editing. Note that this option is not available if do not specify an image editing program and simply rely on the default association for the file.
Normally all pictures in the specified source directory are selected for display. This page allows you to filter the list of selected files based on their modification date and/or file name. When you click the OK button after changing your filtering options the list of files that will be used for display is automatically rebuilt.
Filter By Date
You can filter by a specific date or specify the age of the file.
Remember that the set of files that will be used is determined when you click the Start button. As a result your age setting will become out of date if the program is left running over night.
The Most recent only option has been provided to allow people with web cams to display the most recent capture on their desktops. You should ensure that the Check for new files ... option on the General tab is also checked.
Filter By File Name
If you turn on filtering by file name you can refine the set of files that will be selected by providing a file specification. In the example shown above only files beginning with the letters 'drwj' and the extension '.jpg' will be displayed.
By default the wallpaper picture is normally displayed once in the position selected. You can have pictures tiled over the desktop instead. Turn on tiling by choosing Tile small pictures and set the picture size that will trigger the tiling process. In the example above any image that is less then or equal to 500 pixels in height OR 400 pixels in width will be tiled. Note that this tiling setting will override Best fit mode: i.e. if switched on then small images will be tiled rather than resized.
Always tile will tile all pictures irrespective of their size. In Best fit mode the image will be resized and then tiled.
In Windows tiling is normally done by placing the first image in the top left corner of the screen and tiling from there. In AWC you have more control as the position settings you select will still be used. So, if you have selected the position Right, the first tile will be centred on the right hand edge and the other tiles placed accordingly.
When checked the tiling process causes adjacent tiles to be mirror images of each other. If the Balanced checkbox is also set then the positioning of the mirrored tiles is adjusted so that they are balanced around the intersection point of the reflected images. Kind of hard to describe but play with it and you'll get the idea
Command Line Settings
You can create a shortcut to run the AWC that will override your saved settings. If you just want to override the picture directory you normally use then simply include the name of the directory you want to use instead of the saved one immediately after the program name (you need one space after the program name). For example in Windows XP you can put the following in the Target box of the shortcut:
"C:\Program Files\AWC\AWC.EXE" C:\Pics\Space Pics
This will override whatever picture directory you have saved and display pictures from the C:\Pics\Space Pics directory instead. All your other saved settings will still be used.
Note that starting AWC with a command line when there is already an instance of AWC running, will close the earlier instance.
You can take advantage of this functionality in a number of ways:
Simplest is to have a shortcut to AWC on your desktop and just drag and drop a folder onto it from Explorer. The dragged folder will be used as the picture source.
Create a shortcut in your SendTo folder so that it appears in your Send To list in Explorer.
Most sophisticated of all is to create a file association on folders, that adds AWC to a folder's context menu. In XP you do this by opening Explorer and selecting Tools/Folder Options on the menu. I haven't tried it on other versions of Windows. My thanks to Mark Holden for this suggestion which prompted me to modify the program so that the new instance would replace the old. Mark said he had a bit of a problem setting this up under XP: his notes on solving it are here. The upshot is to make sure you create the association on the Folder item and not the File Folder item.
Alternatively you can use a combination of command line switches to override all the saved settings. To use the switches just add them after the program name making sure you put a space between each switch. The basic syntax of each switch is the same: A slash (/) followed by a letter or word representing the option (e.g. D for directory) followed by a colon (:) followed by the setting to be used. For example:
"C:\Program Files\AWC\AWC.EXE" /Period:10M /D:"E:\Space Pics" /S:1
The few exceptions (there's always an exception) to this format are the /SAVE, /NOSPLASH and /NOTRAYICON options.
The syntax for each switch is described below.
/A or /DATEFILTER - Filter by Date
e.g. /A:A01/01/2003 or /A:Y7 or /A:None
Used to set the Filter by Date functionality. There are five variations to the setting:
/A:A[date] - Only use files whose modification date is on or after the specified date.
/A:B[date] - Only use files whose modification date is on or before the specified date.
/A:O[number] - Only use files whose age in days is older than or equal to the the specified number.
/A:Y[number] - Only use files whose age in days is younger than or equal to the the specified number.
/A:W - Web cam mode. Displays the most recent file in the selected directory. This also cause the Check for new files on each change option to be switched on too.
If you want to disable the filter by date settings that you have saved then use /A:None.
/C or /CLEAR - Clear on exit
e.g. /C:1 or /C:0 or /C:TRUE or /C:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate the desktop wallpaper should be cleared on exiting from the AWC. Any numeric non-zero value will be interpreted as TRUE.
/CONFIRM - Require confirmation on change
e.g. /C:1 or /C:0 or /C:TRUE or /C:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate the user must confirm that the currently scheduled change should be allowed. Any numeric non-zero value will be interpreted as TRUE.
/D or /DIRECTORY - Use alternative directory
e.g. /D:"C:\My Documents\My Pictures"
This switch operates in the same fashion as the directory override described above. Note that if the directory name has spaces in it then the whole directory name must be enclosed in quotes.
BUG ALERT Do not have a trailing backslash (\) in the path name if you use quotes: this seriously mucks up the parsing of the command line (I'll fix it one day, I promise). This is almost never needed anyway. The only time you would actually need a trailing backslash is if you are specifying a whole drive (e.g. /d:"P:\"). If you are doing that then you don't need the quotes anyway as there are no spaces in the path: just use /d:P:\.
/E or /SHOWFILENAME - Show File Name
e.g. /E:1 or /E:0 or /E:TRUE or /E:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that the Show File Name option should be enabled. Any numeric non-zero value will be interpreted as TRUE.
/EXIFO - Use EXIF orientation setting
e.g. /EXIFO:1 or /EXIFO:0 or /EXIFO:TRUE or /EXIFO:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that the EXIF orientation setting that is typically stamped on digital photos should be observed to rotate the picture appropriately. Any numeric non-zero value will be interpreted as TRUE.
/F or /FIT - Best Fit
This setting is used to indicate how pictures should be stretched to the fit the screen. Valid setting values are 0 to 2 as follows
0 - No stretching
1- Best fit
2 - Full screen
/FILE - Specify a particular file to use as wallpaper
e.g. /File:"C:\My Documents\My Pictures\My Pic.jpg"
This option allows you to specify a file to display as the wallpaper. Note that if the directory name has spaces in it then the whole directory name must be enclosed in quotes. Typically this would be used in conjunction with the /X option.
/HOTKEYS - Use windows hotkeys
e.g. /HOTKEYS:1 or /HOTKEYS:0 or /HOTKEYS:TRUE or /HOTKEYS:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that windows hotkeys should be enabled or otherwise. Any numeric non-zero value will be interpreted as TRUE.
/I or/ SHRINK - Shrink large pic files to fit
e.g. /I:1 or /I:0 or /I:TRUE or /I:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate whether large picture files should be shrunk to their best fit on the screen. Any numeric non-zero value will be interpreted as TRUE.
/K or /CHECK - Check For Newly Added Files
e.g. /K:1 or /K:0 or /K:TRUE or /K:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate whether the checking for new files functionality should be enabled. Any numeric non-zero value will be interpreted as TRUE.
/L, /LIKE, /FILESPEC or /FILEFILTER - Like
Allows you to further refine the filtering of files by using file specifications including wild cards. The source directory is still used as normal, but only those files in that directory which match the file specification in the like clause will be displayed.
/M or /SHARPEN- Sharpen
Allows you to specify the sharpening filter to apply to displayed images. Valid setting values are as follows
X - No sharpening
M - Sharpen more
U- Unsharp mask
/N or /NOREPEATS - No Repeats
e.g. /N:1 or /N:0 or /N:TRUE or /N:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that No Repeats should be turned on. Any numeric non-zero value will be interpreted as TRUE.
/NOCHANGE - Disable changes when screen is locked
e.g. /NOCHANGE:1 or /NOCHANGE:0 or /NOCHANGE:TRUE or /NOCHANGE:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that wallpaper changes should be suspended when the screen is locked or the screen saver is running. Any numeric non-zero value will be interpreted as TRUE.
/O or /SAVE- Save The Command Line Options
Any options specified on the command line will be saved as the new defaults; just as if you had clicked the Save Settings button. There are no settings for this switch.
/P or /PERIOD - Period
e.g. /P:30m or /P:1H or /P:30s
Sets the period duration and type. The format is a number followed by a letter indicating whether it should be hours (H), minutes (M) or seconds (S).
/Q or /MIRRORTILE - Mirror tiling
e.g. /Q:MIRROR or /Q:Balanced or /Q:None
This setting takes a string argument to define how mirroring should be handled. Available settings are:
Mirror - turn on basic mirroring.
Balanced - turn on balanced mirroring.
None - turn off mirroring.
The settings are not case sensitive.
/R or /RESTART - Restart On Not Found
e.g. /R:1 or /R:0 or /R:TRUE or /R:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that Restart On Not Found should be turned on. Any numeric non-zero value will be interpreted as TRUE.
/S or SUBS - Show Subdirectories
e.g. /S:1 or /S:0 or /S:TRUE or /S:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that pictures in the subdirectories of the main directory should be displayed too. Any numeric non-zero value will be interpreted as TRUE.
/T or /TILING - Enable Tiling
e.g. /T:1 or /T:0 or /T:TRUE or /T:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that tiling should be enabled. Any numeric non-zero value will be interpreted as TRUE.
/TRAYOPTION - Set Which Menu Option Is Triggered When The Tray Icon Is Double-Clicked
This setting takes a string argument to define which menu option should be used when the user double-clicks on the tray icon. Available settings are:
RESTORE - Restore the AWC window to view
CHANGE - Change pic
EDIT - Open the current picture for editing
CLEAR - Clear the dektop
The settings are not case sensitive.
/V or /PRESERVE - Preserve File Name
e.g. /V:1 or /V:0 or /V:TRUE or /V:FALSE
This setting is interpreted as a boolean (TRUE or FALSE) value to indicate that the preserve should be enabled. Any numeric non-zero value will be interpreted as TRUE.
/W or /TILEWIDTH and /H or /TILEHEIGHT - Tile Width and Height
e.g. /W:400 /H:350
Sets the values for picture height and width that trigger the tiling process.
/X - Exit Immediately
Causes the program to close immediately after changing the desktop, thus freeing all resources used.
Note that this setting disables the Clear on Exit state (for obvious reasons, I hope). There are no settings for this switch.
/Z, /POS or /POSITION - Display Position
This setting defines the position at which the picture should appear on the screen. Available values are:
This switch disables the startup splash screen.
No notification tray icon appears so AWC is effectively running invisibly. This means that you can only close AWC by killing the process and you won't be able to get at the options either
As of July 11th, 2004 support requests should be posted in the Support Forum. If you find any bugs or other problems with the application you can contact me there. I'll try to fix them if and when I get time. Any suggestions for improvement, or even praise, will be gratefully received. Flames, general insults and solicitations of marriage will be ignored.
The AWC was written using Microsoft Visual Basic V6. When you install it, the necessary VB runtime files will be copied to your hard disk.
This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net
FreeImage is used under the FIPL, version 1. for details.