This Old Workbench Episode One

Copyright © 1998-2000 Dave S. Matthews

Figure 1: Addtools, ToolsDaemon, ToolManager and Alias
Figure 1: AddTools, ToolsDaemon, ToolManager and WBAlias

After a long and trying past two years, it appears the Amiga is finally on the move again. While the Amiga's OS and Workbench is one of the most sophisticated and user friendly OS packages available, it is good to know that we can look forward to enhancements and upgrades again. While we are waiting, now is a good time to look at just what Workbench offers
now, and what is available now to enhance it.

Luckily, the Amiga has a talented and motivated crew of users and developers, many of whom have released excellent software to add to the functionality of the Amiga's OS, the appearance of Workbench, or both.

In this series of articles, I will present some of the most popular additions to the Amiga's bag of tricks. Most of these programs are either freeware or shareware, and should be obtainable on Aminet, CDROM, or your favorite BBS. Episode one will focus on enhancing the actual operation of the Amiga, while Episode Two will cover improving the look and feel of Workbench. Before I get started, I want to make note of a few cautions.

First, of all, almost everything covered here requires at least OS2.04, and some require or appreciate 3.0+. If you're still using 1.3, now is the time to upgrade to 3.1. While it may seem pricey, 3.1 is a huge step from 1.3, and is well worth it.

Second, every program, patch, utility, commodity etc., uses some ram, and some CPU time. It is entirely possible that, upon completion of the Workbench of your dreams, you are left with no system resources to run applications. Be especially careful with chip ram! While fast ram can be expanded to 128MB (or more) chip ram is (at most) a measly 2MB.

Also, be aware of conflicts and buggy programs. Even programs that work perfectly alone can conflict with each other. In general it is best to start slowly, adding one program at a time, and checking for crashes, conflicts with other programs, or other odd behavior.

A word about filenames of some of the utilities. I specified the filenames as I found them online. Unfortunately, sometimes during distribution someone will change the filename. For instance, I have seen Kingcon listed as KingCON_1.3.lha (Aminet), but as kingcon13.lha on The Techno Mages Guild BBS, where I downloaded my copy. Many BBS's must cater to both Amiga
and PCs, and some unfortunately, subject even Amiga programs to the MSDOS filename limitation of 8.3 (eight main letters, a dot, and a three letter extension). One such board had KingCON 1.3 listed as simply kingcon.lha. So if you can't find a program as I have listed it, try looking for the file under slightly different name.

Commodities Trading



If you haven't looked in your Tools/Commodities drawer, you're missing out on a few handy programs. Clicktofront, which brings any window to the fore simply by double clicking, is a must when you have a number of windows open on the workbench. FKey is a handy commodity which lets you create hotkeys, to manipulate windows, run programs and scripts, and perform other actions with the stroke of a key. AutoActivate may also interest you. This activates any window automatically when the mouse pointer is over it.

LHA and LZX

The files on most BBSes or Aminet are compressed using Stefan Boberg's LHA program. LHA was shareware, but apparently Stefan Boberg no longer intends to support LHA, and has suggested he might release a final freeware version. LHA can generally be found either simply as LHA138, or as LHA138.run (a self extracting archive). A new contender has recently appeared, called LZX. LZX (LZX120.LHA, shareware), by Data Compression Technologies, is similar to LHA in operation,
but in many cases produces smaller archives. The registered version of LZX and also handle LHA files, though the evaluation version cannot.

If you find using LHA or LZX from the shell tedious, one of your first acquisitions should be a utility to unarchive files using a GUI. There are quite a few of these, or you could also use a directory utility like Directory Opus.

Unpacker (UNPACKER180.LHA, freeware), by Erik Sagalara, is a simple yet effective utility for this purpose. Once installed, it displays an icon on the Workbench. To unarchive a file, you simply drag and drop the file onto the icon, and Unpacker does the dirty work for you. Unpacker comes pre configured for LHA, ZIP, and a variety of other formats, though if you want to use
LZX, you will have to add this tooltype to the icon (using the Workbench ICONS/Information menu item): LZX=C:lzx -m x.

Before I go any further, we absolutely have to STOP THAT INFERNAL FLOPPY CLICKING! ARGGGH! On this point, I have to wonder what the Amiga's creator's were thinking. Luckily, there are many utilities to address this "feature." One such program is Norbert Püschel's DOSPrefs (DOSPREFS22.LHA, freeware), which not only can shush the clicking, but also offers MSDOS style star wildcards, and UNIX style directory functions, "." (for current dir) and ".." (to 'backup' one directory level.)

Start Me Up



After you've filled your hard drive with programs, you may find it tedious to point and click your way through numerous disk, drawer and program icons to run them. Ironically, I have spent hours customizing and creating icons and backdrops to perfect the aesthetics of my Workbench, only to spend more hours installing and configuring utilities which allow me to run programs
without ever having to open any windows or look at any icons at all.

Perhaps the easiest solution is to use the "leave out" function in the Workbench Icon Menu. This works well for Workbench programs, and has the advantage of no additional software being required. The downside is, if you have very many programs, your Workbench can become quite cluttered. For a more flexible, (though more involved) approach, we can turn to several
third party utilities.

You may have noticed that WB has a menu item called tools. You may also noticed that some programs added items (these are known as AppMenuItems) to this menu when run. Wouldn't it be useful if you could add your favorite programs as AppMenuItems? Well, the good news is, you can! While the Workbench itself offers no provision for mere users to add items
to the Tools menu, there are a variety of programs that will handle this for you, with a number of different approaches. AddTools, ToolsDeamon and ToolManager (I use all three) can all be used to extend the Workbench Tools menu.

AddTools (ADDTOOLS_1.20.LHA, freeware), by Alessandro Sala, was one of the first programs to let ordinary non-programmer type mortals add items to the tools menu. AddTools is somewhat less extensive than some of the other programs, but has a features that makes it quite useful. Addtools let's you run both workbench and shell programs, and can accept multiple arguments. It can run programs using either synchronous or asynchronous mode. Synchronous mode works like
this: You select a bunch of icons, select the desired program from the tools menu, and Addtools runs the program, passing the first icon as an argument. When that operation is complete, the program is run again, with the second icon, and so on.

Asynchronous mode, on the other hand, starts simultaneous copies of the program, one for each icon selected. Synchronous mode is desirable when you want to perform the same operation on multiple files. For instance, see the script examples GIFtoPNG and ImageIcon later in the article for examples that take advantage of Addtools synchronous mode.

Nico Francois (well known for his many excellent Amiga programs) offers ToolsDaemon (TOOLSDAEMON21A.LHA, freeware), a more advanced approach. With this program, you can create new menus for Workbench, including submenus, separator bars and keyboard shortcuts. You can specify whether programs are launched from Workbench (just as if you clicked on the icon) or CLI, and you can specify the stack and arguments for each program.

Stefan Becker's popular Toolmanager (TOOLMANAGER2_1BIN.LHA + TOOLMANAGER21A.LHA, freeware) offers the ability to add items to the tools menu, to create AppIcons, and both text and image based "Docks." Docks were a notable feature of Steve Job's NeXT computers. While the NeXT computers never became a big hit, Docks have become popular on many platforms, including, of course, the Amiga. A dock is a group of items that can perform actions, launch programs, and
open other docks. With a dock, rather than open window after window to run a program, one mouse click can do the trick.

Toolmanager's Docks are very flexible. These can be either image based (including icons, IFF brushes, and even animbrushes) or text based. They can be always visible, or hidden, and pop up at a keystroke. In addition to the program menus, docks and icons, ToolManager has network support.

Finally, Frank Würkner's WBAlias (WBALIAS1.0.LHA, freeware) is another interesting way to run your programs, based on an idea familiar to Mac users. Instead of opening window after window in search of programs scattered over you hard drive, why not create aliases for these program, and have these aliases for your favorite programs in one drawer. You can open that
one drawer, and run these programs by clicking on their aliases' icons, no matter where on your hard drive the programs actually are.

See Figure 1 for a screen shot showing AddTools, ToolsDaemon, ToolManager and WBAlias.

Odds and Sods



Figure 1: Addtools, ToolsDaemon, ToolManager and Alias
Figure 2: SwazInfo and CycletoMenu



A very handy menu related utility is Michael Barsoom's Rekeyit (REKEYIT2_4.LHA, shareware, requires MUI for preferences program). Rekeyit allows you to change the Workbench Menu keyboard shortcuts and add new ones. For instance, I have added shortcuts to use the SHOW ONLY ICONS, SHOW ALL, VIEW BY ICON, VIEW BY TEXT and SNAPSHOT ALL menu items. This way, I can quickly switch between viewing modes when copying or moving files on the Workbench.

David Swasbrook's SwazInfo (SWAZINFO18B.LHA, shareware) is an enhancement for the Amiga's INFO menu command. SwazINFO has a number of nifty improvements, including the ability to drag an icon into the window to replace the current image. Other features make tooltype editing easier. One of my favorites is the ability to toggle tooltypes between active and inactive with a single click.

CycletoMenu (CYCLETOMENU-21.LHA, cardware) by Federico Giannici, is a real productivity booster. Instead of clicking through the innumerable items in a cycle gadget, using CycletoMenu provides a pop-up menu, with all the cycle gadget's items instantly available. See Figure 2 for a screen shot showing SwazInfo and CycletoMenu in action.

NewEdit (Originally by Uwe Röhm, version 1.8b, NEWEDIT18B.LHA, by Paul Huxham) is a utility which rectifies a surprising omission on the part of the Amiga's requesters. With NewEdit, you can cut and paste the contents of text gadgets. This is very handy when you need to enter a long path and filename, for instance.

Finally, Nico Francois serves up yet another handy utility, in the form of PowerSnap (POWERSNAP22A.LHA, freely distributable.) This program lets you cut text clips out of just about any screen, and works well with NewEdit.

Shelling out

Windows) is the seamless and integrated availability of both GUI and shell. You can move between the GUI, with its icons, drag and drop, etc, and the shell, with powerful and flexible DOS commands with ease. The Amiga lets you decide which is appropriate, one of the things I really, like about the Amiga. That is my idea of what an OS should be like.

If you do use the shell at all, you should take a look at David Larsson's KingCON (KINGCON_1.3.LHA, freeware.) This program enhances the Amiga's shell (it replaces the Amiga's CON: console-handler) in many ways. KingCON provides name completion, a review buffer, intuition menus for many of KingCON's features, and an iconify option.

The name completion is very handy when typing long complicated pathnames or command sequences. For instance type in SYS:ut and hit the TAB key, and KingCon will complete the path with SYS:Utilities. If more than one directory matches the letters you typed, KingCon will present a
filerequester, with all the appropriate choices.

The review buffer is a major plus as well. Often, when using the shell, the output might scroll off the screen before you can read it. With KingCON, any text that appears on the screen is placed into a buffer, and you are armed with a scroll bar, so you can browse through this buffer, rather like a text reader.

I appreciate the iconify feature, which leaves the shell always available (and preserves the review buffer and command history), but takes up little screen space.


Hey, it's in the Script!

So far, I have focused on additional software available to enhance the Amiga's operation. However, there is a lot of productivity hidden away in AmigaDOS itself. Learning the Amiga's script language can provide you with a wealth of custom tools, without any addition software. Note, this isn't intended as a DOS script tutorial, since that is beyond the scope of this article. These should give you some idea of what you can do with scripts, however.

Before diving into AmigaDOS scripts, let's have a look at AmigaGuide. While most will be familiar with Amiga guide by way of AmigaGuide based documentation included with most programs, it can also be handy for other uses. One such use is a universal data index. While not a tutorial on AmigaGuide, the following bit could serve as a starting point for your own project:

@DATABASE

@NODE main "Documentation Contents"

Click on document to read:

@{" Anime " link HELP:English/Anime.guide/main"}
@{" HTML 3.0 " link "HELP:English/HTML_3.0.guide/main"}
@{" KingCON " link "HELP:English/KingCON.guide/main"}
@{" Aminet9 Index " system "C:More CAT:Aminet9"}
@{" Zen Internet " system "C:More HELP:English/zen10.txt"}
@{" AR 320 " link "XSubvault:MediaZine/ar320.guide/main"}
@{" NeonEgypt Pic " system "C:Multiview PIX:NeonEgypt.png"}

@ENDNODE

Note that you can use this type of index for AmigaGuide files, text files, even pictures or sounds. Also note you can get a good bit more sophisticated than what I've shown, but the above will suffice as a starting point.

AmigaDOS and Don'ts

Now onward. Many of the following scripts are meant to be used in conjunction with AddTools (using the synchronous mode), or possibly via a Hotkey set up in FKey.

The first script is very simple. All it does is copy an icon to the selected file. Using AddTools synchronous mode, you can copy icons to as many files as you desire. You can modify it to copy any type of icon, image, text, AmigaGuide etc.


;Image Icon
;Copy def_ILBM icon to a picture file.
.key NAME/a
.bra {
.ket }
C:Copy ENV:Sys/def_ILBM.info "{NAME}.info"
;END ImageIcon

The next script is a bit more tricky, and supplies an icon for a drawer. Some twisty little tricks were pulled to make this work, since working with directories is somewhat more complicated than files. If you tried to use the above Image Icon script (with def_ILBM changed to def_Drawer) along with AddTools, to copy a drawer icon to say, RAM:Clipboards, you would end up with a .info file inside the Clipboards drawer. To get around this, the dir icon script uses the echo command, along with redirection, to create a new script file, which then properly copies the drawer icon:

;Dir Icon
;Copy def_Drawer icon to a drawer.
.key NAME/A
.bra {
.ket }
echo >T:OldDir "CD " NOLINE
cd >>T:OldDir
cd >NIL: "{NAME}"
echo >T:xblah "Set blah " NOLINE
cd >>T:xblah
execute >NIL: T:xblah
C:Copy >NIL: ENV:Sys/def_Drawer.info "$blah.info"
Execute >NIL: T:OldDir
delete >NIL: T:xblah T:OldDir quiet
unset >NIL: blah
;END Dir Icon

This next script will open a shell window on the selected directory. It could be used in a menu or assigned a hot key. Note that the newshell command is customized here for KingCon. A simple newshell with no arguments could also be used as a starting point:

;Open a shell and CD to selected directory
;BEGIN DirShell
.key NAME/a
.bra {
.ket }
cd >NIL: "{NAME}"
NewShell WINDOW CON:0/150/568/200/Shell.%N/CLOSE
;END DirShell

Click once on the desired drawer, then execute this script. The path of the drawer will be passed to this script, the CD command will change the current directory to the supplied path, and the NewShell will open a shell.

You can also use scripts to enhance the ease of use and operation of CLI programs. For instance, to add batch capability to GIF2PNG (a CLI program which converts pictures in GIF format to PNG format), I use the following:

;BEGIN GIF2PNG
.key NAME/a
.bra {
.ket }
C:Gif2PNG -d "{NAME}"
;END GIF2PNG

Again, the synchronous mode of AddTools comes in very handy. You can select a group of GIFS, run this script from the AddTools menu, and AddTools will execute the script once for every file.

The final script relies on several AmigaDOS 3 commands, RequestChoice and RequestFile, as well as use of environmental variables. RequestChoice puts up a standard requester, allowing selection from gadgets. RequestFile puts up a standard ASL filerequester, and allows the user to select a file or directory.

This script serves as a graphical front end for the program Dred (DRED2310.LHA.) Dred, short for Disk REDucer, by Bob Rye and Marcus Mroczkowski is a "best-fit" type of program, which analyzes a group of files, and then copies then to floppy disk, filling the disk as much as possible. This script is a good example of how you can make working with shell programs easier. Note that the Requestfile command (including the drawersonly switch) should all be on one line, likewise the RequestChoice command.

;Begin Dred Front End
RequestFile >ENV:src drawer HD1: title "Select Source:" drawersonly
RequestChoice >ENV:dest "Dred Menu" "Select Destination:" "DF0|DF1|Cancel"
If $Choice eq "0"
Quit
EndIf
If $Choice eq "1"
Set DriveName DF0:
EndIf
If $Choice eq "2"
Set DriveName DF1:
EndIf
RequestChoice >ENV:Choice "Dred Menu" "Select FileSystem:" "SFS|FFS|Cancel"
If $Choice eq "0"
Quit
EndIf
If $Choice eq "1"
Set FileSystem SFS
EndIf
If $Choice eq "2"
Set FileSystem FFS
EndIf
Dred -v -c $DredSource $Drivename $FileSystem
;END Dred Front End

Well, there you have it. While I can't cover every available utility for the Amiga, I hope this gives you some idea of wealth of "plug in" power available to enhance your Amiga.

 


This Old Workbench, Episode 1

Navigation  Bar
Contents First Previous Next Last Top
Table of Contents First Episode Previous Episode Next Episode Last Episode
Hosted by www.Geocities.ws

1