Wallpaper v1.0 by Joe Rumsey Sick of solid backrounds and tiny little patterns on your workbench? Now under Workbench/Intuition 2.0, any image you can view on your Amiga can become the backdrop for your Workbench window. Wallpaper allows you to place an iff image in the background of the Workbench window. The image may contain up to 16 colors. Pictures with more colors than the current Workbench can display are accepted, but no attempt is made to adjust the colors. Important note: Make sure that the main workbench window is the ONLY workbench window open when you run wallp. That is, no disk or drawer windows should be open, but other windows on the workbench screen are ok. Disk and drawer windows will sometimes confuse wallp into using them for it's picture. Usage: Wallp [-options] [filename] To quit wallpaper and restore the normal background, just click on the close box on wallpaper's window. Options supported in this version: Positioning options: -c Center the picture. This is the default -t 'Tile' the picture. Fills the Workbench window with copies of the picture. Great for using IFF brushes as patterns. Color Options: -f First-Four. load palette from picture, but use the 'standard' (as defined by preferences) colors for the first four colors. This is so that Workbench's color scheme doesn't get messed up. This option is the default. -s Same. Keep the same colors. Don't modify the color palette at all. -p Picture. Load all colors from the picture, including the first four. With most pictures, this option will really mess up the color scheme under 2.0. The pictures and patterns I've provided almost all have color schemes which work under 2.0, however. If no filename is specified, Wallp looks for the picture "wallp.pic" in the current directory. If this can't be found either, wallp will exit with an error message. use Run >nil: wallp to run wallp in the background and return control to the shell it was run from. Examples: wallp load the picture "wallp.pic", centered, keeping the first four colors intact. wallp zap load "zap", same options as above. wallp -t -p zowie load "zowie", tiled, and loading all colors from the picture. run >nil: wallp -s load "wallp.pic", but don't change the colors. Run wallp in the background so control is returned to CLI. NOTE: this version MUST be run from the CLI. Sorry about that, I'll have the workbench version done soon, I hope. That's all the options for now, but I am planning on many more, such as: Scan a directory for IFF files and choose one at random(good for use in the startup-sequence so you get a different picture each time you boot) Stretch the image to fit the screen or window, or to a specified size for tiling. Try to remap the color palette for pictures with too many colors(including HAM pictures if I REALLY get motivated) Let the scroll bars on the workbench window scroll around the picture. Right now, the picture stays in the same place relative to the window. Get rid of the window and replace it with an icon. Those of you who are fast may notice that an icon already appears when the program is started. This is my sneaky way of forcing Workbench to do a refresh. As soon as I get my hands on some 2.0 documentation, I'll figure out a better way, but for now this will do. Add a file requestor to allow an easy choice of picture. Dynamic Hi-res pictures, if only I knew how(and if it's even possible). I don't even have any pictures of this type to fool around with, so it's not likely to happen soon. Run Animations in the background (and in my dreams). Other things I would like to fix are: Better refreshes. You'll probably notice that right before the picture is refreshed after icons or windows are moved around, the regular workbench pattern is displayed for a split second. This bothers me, but I can't figure out how to stop it. In fact, I spent the better part of two days trying to stop the workbench from drawing the pattern back in, but finally gave up. If anyone knows the method used by workbench to do this, PLEASE let me know! After much experimenting, it seems as though it is using some @#!$% internal procedure, making it difficult to impossible to stop. This is the only major 'bug' I know of. Occasionally, pieces of icons are not refreshed properly. This happens mostly when Wallp is started from the startup sequence before Workbench has fully loaded. The best way around this is to put a suitable delay(using Wait or something similar) between the LoadWB statement and starting Wallpaper. Questions and Possible Answers: Q: How come the picture I've loaded looks wrong, and it's not just the colors? A: The iff routines I'm using unfortunately screw up with some pictures. The most likely culprits are pictures saved with Stencils. The solution is easy: just load them into dpaint(or whatever), Free the stencil, and resave it. In the next version, I will try to use the 2.0 iff library, but as of now, I don't have any information on it. Q: Once in a while my computer crashes for no apparent reason, even after I've quit Wallp. Why? A: I don't know why. This is rare, and never seems to happen at exactly the same point, making it very hard to trace. I'm working on it. Q: How can I adjust the palettes of my pictures to work in 4, 8, or 16 colors, depending on the depth I run workbench in? A: There are several good picture conversion utilities around which can aid you in this. Dpaint is also good at remapping colors. The method I use is to load a picture into dpaint with the palette you want to use. Then, load the picture you want mapped to that palette and select Restore Palette. Finally, select Remap. Hopefully, it will turn out well. Q: Fine, now the colors are right, how can I stretch it to fill the screen? A: just load the picture in it's normal resolution and choose Screen Format. Then select 640x200 or 640x400, depending on the mode you want. Dpaint will ask you if you want the picture stretched. Just say yes, and it'll be done. Q: How does Wallp work? A: If I told you, you'd probably be afraid to use it. :-) I will say that it modifies two functions slightly. The only time these modifications do anything is when they are called with the WB window as a parameter, so it's actually pretty safe. If you want more detailed info, the source is available for a $10 shareware fee. This also of course entitles you to the most recent version, plus some other goodies. For this version, I am not asking for any money. Future versions, when I have more options and fewer problems, will be around $10. For the source code mentioned above, send $10 to: Joe Rumsey 265 W. Big Springs Rd. Apt. L Riverside, CA 92507 The quickest place to reach me with questions and comments is on GEnie. My email address is J.RUMSEY many thanks to: Leo Schwab, for source code to turn the workbench into a smart refresh window. Wallp doesn't do this, but the code was invaluable in getting me started. Stefan Becker, for ToolManager, and for including source. This is where I found out virtually everything I now know about WB2.0. Plus it's a wonderful program. Also available: Crazy Pipes -- A thinking game, object is to lay pipes to keep the water from spilling. 32 color cutomizeable graphics, sampled sound. Bomb Squad -- Find the bombs without blowing 'em up. Sampled sounds, runs on workbench screen(so you can look at the pretty wallpaper ;-) sampled sound. Very very soon: Mother Lode. An extremely accurate version of Lode Runner. This will be my very next release. I would have had it done already if Wallp hadn't turned out to be so hard to write.