VOICE Home Page: http://www.os2voice.org | December 2002 [Newsletter Index] [Previous Page] [Next Page] [Feature Index] editor@os2voice.org

## DragText 3.7 - What is it and what can it do?

By Doug Bisset, Christian Hennecke © December 2002

Well, we can't really answer that, completely, but we can describe some of what it does for us. In case the descriptions of DragText in this review don't really tell you anything, or you would like to try it without having to install it on your machine, the DragText home page contains a demo area where you can try how some of the features work inside of your browser.

### Drag and drop extensions

This amazing program adds a lot of function to the OS/2 Workplace Shell. For instance, have you ever seen a post in a news group, that you would like to keep? Well, most news programs do have a way to do that, but, with DragText, all you need to do, is mark the text that you wish to keep, and drag it to the desktop, or another folder, then drop it. A file will be created, using the first few words as a file name. Later, you can review that file, delete it, rename it, whatever you want to do with it.

Fig.1: Dragging text inside a window

DragText is also there to assist you, if you need to move or copy text inside a window, e.g. when you edit your `CONFIG.SYS` file. Instead of the usual procedure of marking the text, executing a copy or cut command, moving to the new destination in the document, and executing a paste command, with DragText you mark the text and drag it to where you want to have it placed (see fig.1). For this kind of operation, the standard WPS modifier keys for moving and copying objects via drag and drop can be used. Now what if the target destination is not visible when you start to drag? For copying text, pickup and drop is also supported. And there is another way to accomplish the task which is handled by the new Overdrag feature (see below).

How about the case where you want to insert a file name into a document? Sometimes, doing that can be a bit of a chore, especially if you don't type quickly, or accurately (like me). With DragText, all you need to do, is drag the file icon into the document, and there it is. Want only the file name, and not the drive and path part? Press the shift key, when you drop it.

But you can not only insert the name and path of a file, but also its content. All it takes is to press another key while dropping the file object onto a window and it also works with multi-line entry fields. This makes merging in a file in an editor at the exact point you want it very easy. You could also use this feature to set up standard phrases, which want to use in documents regularly, as in replies to e-mails. The VOICE editors are using this to easily insert announcements for the Newsletter into the web forms that are used for submitting news to OS2.org and other news sites, for instance.

Then, you may have some data in one program, let's say something like an FTP URL, in the properties of a program, like FTP-PM, which you would like to transfer into an e-mail. Simply drag the data from the entry box, and drop it on the e-mail. Perhaps, you would like to do the opposite. Just mark the text, in the e-mail, and drag it to the entry box in FTP-PM.

Fig.2: Dragging a URL from inside PMMail to the AutoWGet ToDo folder

Speaking of URLs, DragText is able to detect, if marked text consists of a URL. If that is the case and you drag the marked text to the desktop or another folder, DragText will automatically create a corresponding URL object for you. This is most convenient for users who use the WPS to keep their bookmarks or who use AutoWGet for downloading web pages and software. Imagine you have received an e-mail or news message and it contains a URL of a new web page you would like to bookmark for a later visit. Simply mark the URL in your e-mail or news client and drag it to your bookmarks tree. Or maybe the file contains a link to a new software package, which you would like to try. Just mark the URL, drag it to the Todo folder of AutoWGet or the desktop (see fig.2) and AutoWGet will do the downloading for you in the background. This comes in very handy if you have subscribed to the VOICE news list, for instance. Finally, you can also drag such a URL directly to an open window of Netscape Communicator or Navigator and Netscape will start loading the page or file immediately. If only this worked with Mozilla, too.

Then, what do you do in a command prompt window? Perhaps, you want to transfer an error message to an e-mail. Sometimes, the only way, is to type it out. Slow, and prone to errors, but with DragText, you just mark the text, then drag it to where you want it, and drop it. Too bad this doesn't work with a TRAP screen.
This feature also works the other way round. You can easily compose long and complicated commands by dragging objects to the command prompt window. This even makes accessing files each of which is located somewhere deep in a different directory tree a breeze.

#### Improvements

While the things above work very well, in the past one was out of luck if the target for the drag operation was not visible at the time the drag operation was started. I.e. in a large document it was impossible to drag text from the end to the beginning of the file, and you couldn't drag something to a window that was hidden behind another. With DragText 3.7, Rich Walsh has introduced a very powerful set of new features called Overdrag. The essence of it is that the limitations, which are mentioned above, have been eliminated. In detail this means that now it is possible to make the desired target destination visible by several means while the drag operation is still in progress:

- The content of windows can be scrolled,
- windows can be minimized,
- folders can be opened and closed,
- tree views can be expanded (see fig.3), and
- the z-order of windows can be changed with the keyboard, mouse, or automatically (similar to the sliding focus of XWorkplace or NPS WPS).

Fig.3: Expanding a tree while dragging text from the F file manager

You can even have DragText "clean up" for you after you have completed the operation, i.e. folders which you have opened/closed are closed/re-opened and windows which you have minimized are restored again. This works with both text and standard WPS objects.

During the last years, a new kind of programs has started to be used with OS/2, which don't know about the WPS by design: Win32 programs, which are run with the help of Odin. Yes, believe it or not, DragText also supports Windows stuff! All you need to do is to tell DragText the method they are run by. Besides those pure Windows applications, there are OS/2 programs like Opera, which also use the Odin libraries. Tell DragText their names and they will be supported, too. Be aware of the fact that Odin is a moving target though. This means that DragText's Odin support may not work with some Odin releases while it does with others.

The new version of DragText also extends the functionality of the file open and save dialogs. You can open, copy, move, and create references of files and directories by dragging them from the dialog (dragging to the dialog does not work). It is even possible to access a file's or folder's context menu and open it's properties, and create a new folder. All this requires pressing a special key/mouse combination. Creating a new folder only works if you select Create another -> Default. There seems to be some bug there, since the newly created folder cannot be deleted via the WPS.

#### Limitations

Of course, all this doesn't work with every program, since some programs supply their own way to handle what is dropped on them, and others don't support Drag and Drop, at all. This points out the compatibility of DragText, because it attempts to let a program handle the drag and drop, on it's own, before it tries to do anything that may not be expected. If DragText does cause a problem with a specific program, you can configure DragText so that it doesn't try to help that program, while it continues to help others.

One place where Drag and Drop is not completely supported, is in Mozilla. There is a limited subset of the Drag and Drop interface implemented, so it is not possible to do something like drag a section of text from a web page, and drop it on the desktop. Not to worry, DragText has a feature, called DTClip (see left figure). This consists of an icon, on the desktop, where any data that is copied to the clipboard is available. Just Drag and Drop that, after you do a mark and copy with the program. You can even append data to the DTClip object, by holding the shift key, and dropping something onto the DTClip object. After you collect all that you want, drag the DTClip object to the desktop, or to a folder, and drop it.

### Other features

Is that it??? You ask. Well, no, those features are the obvious ones, and they may not even be the most useful. How about the case where you are looking through your `CONFIG.SYS`. You decide that you want to know what date a specific file was created on. Well, you can work your way through the maze, to get to it, and open the properties, or, if you have DragText installed, you can highlight the file name, and do a `<Ctrl-Shift-RMB>` on the file name. The file's WPS menu will pop up (see fig.5), and you can go directly to the properties. Hard to remember the key combinations? Yes, so make a list of some of these things, and keep it handy. After a while, you will remember the ones that you use all of the time.

Fig.5: Accessing a file's menu from inside text

Fig.6: Creating a shadow of the Communicator program object

Sometimes it would be nice to be able to quickly access data that is related to the currently running program. With DragText's Window links you can do this easily via the system menu of the program's window. This applies to opening the directories where the program object and the program's executable are located, and to its working directory as well. But it doesn't end here. By dragging from the system menu, you can create a shadow of the program's object (see fig.6), copy or move it, copy the path to/the name of the executable's directory to the clipboard or another window. If you opened the program by opening an associated file, you can access the directory which that file is located in and the file's context menu as well (see fig.7).

Fig.7: Locating a HTML file which Netscape Communicator was opened with

#### DTProgram

The DragText package includes another goodie, the DTProgram WPS class, which can even be installed separately and provides some more nice features.

Perhaps you have a program, that you want to run once every third day, well, go to the properties of that program, and select the DragText addition, which adds a Schedule tab to the Properties (see fig.8). Fill in the parameters, and it will happen.

Page 2 of 2 has a complete list of all scheduled programs, so it is easy to see when it would be appropriate to schedule a new program. While it is a good thing to have this list that near in reach when you configure a new program, an own object in the System configuration folder would be nice to have, especially for those who like to keep their desktop free of program objects.

Fig.8: Schedule notebook page

Are your `PATH` statements (`PATH, DPATH`, etc., but not `BEGINLIBPATH` and `ENDLIBPATH`) or other environment variables getting out of control? Use the DragText addition, which adds an Environment tab to the Properties (see fig.9). You can add what the program needs, and remove that from `CONFIG.SYS`. This feature can also get a newly installed program to run, without the need to reboot, just to get a new `PATH` loaded.

Fig.9: Environment notebook page

Do you want to know what the Object ID of some program is? Go to the Properties, and select the DragText Options tab (see fig.10). If the object doesn't have an ID, you can enter one. This can be useful when you want to manipulate the object with REXX.

As you can see, there are other things on some of these pages, that we will leave for you to discover (since we don't use them, and/or don't really know what they do).

Fig.10: Options notebook page

Is that it??? No, there is much more to this program, some of which will be useful, and some of which you will never even know about. There are many settings, so that you can customize the way that the program works, to suit your own tastes (see fig.11).

Fig.11: DragText settings notebook

### Installation/Updates

Updates are amazingly simple, and backing out to an earlier version is just as simple. Just run the install program, from the directory that contains the version that you want to use, and the changes are made. The initial install doesn't even need a restart of the WPS, but subsequent installs do require a restart, to allow the appropriate DLLs to be loaded.

### Stability and compatibility

To implement this plethora of features, DragText has to deeply engage into Workplace Shell internals, and naturally that has a huge potential for crashes and unpleasant side-effects. Well, we can reassure you. We have been using DragText for years and so far it has proven to be of remarkable stability. This statement even remains applicable, when you use DragText in connection with other WPS enhancers.

We did experience an incompatibility between a part of the new Overdrag features and XWorkplace 1.0.0 (Overdrag worked with text only, not with normal WPS objects), which hadn't occured with the previous version 0.9.20, but we were able to eliminate it by changing DragText's load method to Autoload during boot, which is the one recommended by Rich Walsh anyway.

There is one point that is more error-prone under certain circumstances (like older fixpaks) and that is startup. In case any problems like WPS hangs at boot time should occur, this can usually be solved by adapting the load delay or choosing an alternative load method.

### Conclusion

Well, we think that we have described most of the features which we use. There are many more, that we don't use, and we suspect there are still some tricks that this program can do, that we have never even heard about. DragText leaves little to be desired in functionality, stability, and documentation alike. One could argue if the setup notebook pages should be placed in an own object or elsewhere as someone suggested, e.g. in the System object or in the Workplace Shell object when an installed XWorkplace is detected, but that is a question of personal preferences.

We find DragText to be a tool that we do not want to be without. IBM would probably say "DragText is an intriguing solution to greatly increase your productivity" and would be correct. With its set of features, a price of US$ 20 for a lifetime license, and Rich Walsh's practise of bug fixes and new releases, a DragText license is a most excellent investment.

References: DragText 3.7 Developer: Rich Walsh Price: US$ 20 DragText home page: http://www.e-vertise.com/dragtext/ DragText online demo: http://www.e-vertise.com/dragtext/demo.html

[Feature Index]
editor@os2voice.org
[Previous Page] [Newsletter Index] [Next Page]
VOICE Home Page: http://www.os2voice.org