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

## Nice-OS/2 Enhancer v 5.0

By Sergey Posokhov© April 2003

### PART ONE - PREFACE

#### Preface, features and Requirements

Let me present to you the application which adds new features to your OS/2 system. It works alongside the Presentation Manager (PM) and other applications, monitors various events in the system and performs appropriate actions. Its purpose is to serve the user so it called "the enhancer". Its full name is "Nice-OS/2 Enhancer" or just "Nice".

Why do I prefer it? This program has a lot of features and looks like "all in one" software. Once installing it, I am able to control the multimedia players from my keyboard, to copy and paste text using the mouse and much more. Each new feature does not require new components to install into the system - these features are included in one application. They can be activated or deactivated as I want.

This is the short list of the features :

- Image scrolling in all windows using mouse or keyboard,
- Window skinning for OS/2 and Win-OS/2 windows,
- Workplace extension - four "Rooms" around the desktop,
- Various keyboard and mouse actions,
- Window arrangement on the screen,
- Logon scripts and dialog enhancements,
- Priority management and dynamic "float" priority,
- Window list cleaning,
- Text-mode window additions,
- Various patches for OS/2 and Workplace Shell.

The program is fully WPS-integrated. It can be started from WPS, Its settings and help files can be opened from its folder (see picture below). It works without WPS as well, but without WPS it must be started from the command line.

the program is WPS-integrated

The system requirements are very low: OS/2 Warp 4.x with FP5 or higher. The Enhancer works with eComStation and with Aurora (Warp Server eBusiness) SMP. It creates more than twenty threads for its components and uses the SMP model as well as possible. It works together with Styler/2, X-Workplace and other popular software incorporated into eComStation.

Recommended hardware is: Pentium-100 CPU, 800*600*65536 Video. This may look like a joke, but it really is so. Enhancer performs all actions in the threads. Threads run with various priorities, sometimes as "idle", so it works in background and does not eat system time. I have tested it on the dual-CPU Pentium-166 and on the modern Celeron computer, and haven't seen any differences.

Memory used is: 0.3 MB for kernel + 1.75 MB for threads. Sometimes it requires more memory, but no leaks were detected. The memory marked as "for kernel" is the RAM volume required for event monitors - the program uses it constantly and it is always present in physical memory. The "memory for threads" is the RAM volume for program modules, it can be swapped to the hard drive if needed.

#### Similar programs

Ones I know of with similar features- Styler/2, Xit, Candybarz and NPS WPS Enhancer.

#### License

Another interesting part is the license. This application is freeware, source code is included into the package. You can use it as long as you like but you are not allowed to sell it or to distribute it to make money. Use it on your own risk. Test it before.

Looking into the sources (more than 3 megabytes of text in plain C language) you will see that the code is very clean and well documented inside. Each action has good description. The author uses his own language in comments (Russian), strong tabulation and margins. The program had been engineered in UML before coding, but diagrams are not available.

### PART TWO - INSTALLATION

#### Installation

Program comes in ZIP file and uses its own installer. It looks like a dialog box with two options - "Install" and "Uninstall". It collects information about your system and another installed programs and creates objects on the Desktop.

the Install window

The guidelines are easy:

1. If you have previous version - uninstall it (don't delete old files).
2. Unpack the SFX archive from this package (just run the executable file),
3. Move the new directory named `Nice` to other path (for example, to `C:\Applications` ),
4. Go into the directory named `Nice` and run `Install.exe` (you can use INI file from previous version).

Reboot is not needed.

Installer will modify your `Config.sys` file: the "LIBPATH" variable must be changed due to Presentation Manager requirements (for example, if you use old full-screen programs). Your current `Config.sys` file will be renamed to `Config.nic`

#### How to Start and Stop It

Just click on the "daemon" icon to start and on the "stop" icon to stop.

#### Safety Notes

Nice-OS/2 Enhancer does not install any libraries in the OS/2 DLL directory and does not place its object into the "autostart" folder or registry. You can kill it using WatchCat or Process Commander or any other task management program.

#### Uninstallation

To uninstall the Enhancer:

1. Run the `Install.exe` and select "Uninstall" option,
2. Delete files manually (if required).

### PART THREE - COMPONENTS

#### Control Center Overview

You can manage the Enhancer using the set of objects named "Control Center". Each object opens a settings page. The settings are placed on notebook pages. Every page has an "Apply" button with blue font color. You must press this button to activate settings for current page.

Information about features for the current page can be found in the program's manual. Just press the "Help" button to read it. The button has green font color

Another button is "Turn settings to the pre-defined state". This button has red color.

#### Wallpaper and Pointers Collections

The Enhancer has a small collection of the mouse pointers and wallpaper images. It can be used in the system; for example, images can be wallpaper for folders.

#### Other Tools

There is a tool named "File Names" to check files in the drives and folders, change names to mixes case (like "Text.txt") and perform various actions with Extended Attributes (EAs). These features also available in modern file managers like FC/2, DN/2 and Larsen Commander.

A little tool named "Viewer" is used by Enhancer to open documents. As written before, installation program detects software in your system, and viewer uses this information. It opens Mozilla or Opera web browser for HTML files and IPF Help Viewer or NewView IPF Viewer for help files.

### PART FOUR - FEATURES OVERVIEW

#### Advanced scrolling

Scrolling features

The feature named "Smooth scrolling" extends scrolling in all windows. It is the patch for old text editors like OS/2 System Editor where you must click, move and release mouse to scroll window content. With this option window content will follow the scroll bar when you move it.

Another scrolling way - using arrow keys and `<SCROLL LOCK>`. With this option you can scroll window content using keys with arrows when `<SCROLL LOCK>` is turned "ON". This is useful for text editing and mail reading, I recommend you to browse mail messages with this option in PMMail reader. If you have a modern mouse with scrolling wheel this feature can complement it. As you know, scrolling wheel posts keyboard messages to the active window but does not really scroll it. With this feature it will always scroll the window content.

Drag'n'Drop actions are possible too. You can smoothly scroll window content using a mouse when button is pressed and `<SCROLL LOCK>` is turned "ON". You can choose another mouse button and pointer for this action.

example of Drag'n'Drop scrolling

This feature requires native OS/2 scrollbars so it does not work for applications ported from Unix operating system. By default this feature is disabled.

#### Window Frame Skinning

Skinning

As you know each modern operating system allows user to change the window look. The Enhancer can redraw window frames using several ways. Frames and control elements can be repainted for all windows. In the settings you can select the "window theme" to specify drawing methods and parts of frames to change. All screenshots in this article can be examples for this feature.

You can suppress frame redrawing for selected applications and windows. If you want to keep frames in their default state you should use the "exceptions" in the Enhancer. Just point to the window and say "NO" and Enhancer will avoid to do anything with it.

exceptions

Default exceptions are hard-coded in the program. For example, my favorite WarpVision player moves its titlebar and uses the free window frame place to draw movie control buttons. The Enhancer knows that and does not draw frame for WarpVision.

Rooms around the Desktop

settings for Rooms

"Virtual Desktops" are present in Unix and Linux operating systems, in OS/2 this feature was developed by Stardock ten years ago in their Object Desktop tool.There is possible to use the same feature in Nice-OS/2 Enhancer, it named "Rooms around the Desktop".

Each room is a set of windows, it has its own wallpaper and color scheme. In the room you can launch objects from your Desktop using WarpCenter or LaunchPad, and open running applications using the Window List. On the pictures in this articles you can see the LaunchPad and empty Desktop with background. These pictures were made by PMView in the Rooms where the common OS/2 Desktop is hidden (because it is a window as any other window).

For switching to the room you can use the numeric keys "2", "4", "5", "6" and "8" with the "Shift" key. Another way is objects from the WarpCenter:

WarpCenter tray with objects to go to Rooms

Here it is possible to use any other replacement for WarpCenter like X-Center and SysTray and switch to the Rooms from it.

#### Keyboard

Keyboard mapping

You can assign some actions for various keys. For example, pressing a key you can launch the Window List, WarpCenter or LaunchPad, or any other object from your workplace. In the picture you can see how to assign WinKey to launch X-Center menu. It is possible to map one key to another or to the key chord, for example, you can post post `<ALT-F4>` chord to the window by pressing `<F10>.`

Multimedia keys

If you have a keyboard with multimedia functions you can use its keys to launch media players and web browsers and to control them. You can use three "power" keys at the right side of the keyboard and any other keys. Enhancer supports OEM keyboards like IBM Rapid Access or Compaq Internet Access. It works with Microsoft Multimedia and Cherry Multimedia keyboards.

Clipboard keys

Enhancer also allows you to define "Clipboard keys", known as `<CTRL-C>` and `<CTRL-V>.` They came from Apple computers and are used to copy text to Clipboard and paste text from it. Now these keys can be translated to common `<CTRL-INSERT>` and `<SHIFT-INSERT>.`

Other keys

Other key features are placed in other settings windows. Enhancer can hold `<Num Lock>` in one state, always ON or OFF and map numeric keys to common "1..9". The Logitech and Cherry Business Line keyboards has a small key near left Shift and "Z" often named "Macro" or "slashes". Now it can type "dash and a dot" symbols.

Another feature is "Suppress line break in object titles". There is possible to give names to files and objects using several strings. This is good feature of Workplace Shell, but Enter key is used for this action. Now you can disable this feature and type line break in other way by pressing `<CTRL-ENTER>`.

Reboot protection is possible too. Various "break" key chords on the keyboard like `<CTRL-BREAK>` or `<Ctrl-Alt-Delete>` can be disabled by Enhancer. So when a windoze user pressing `<CTRL-ALT-DEL>` on your keyboard to "log on into the network" your OS/2 does nothing. Very good feature.

The last keyboard ability is "Keyboard echo". The sound like "click! click! click!" will be played at hitting a key. If you have a RAM drive, the sound file will be copied to it. It is intended mainly for ICQ and other pagers. But you must have a power computer to delight the sound from your keyboard.

#### Mouse actions

Mouse settings

Right and middle mouse buttons can be used with scroll bars, to change window placement and to open minimized windows. It is useful for ODIN applications and Mozilla web browser. Mouse buttons can be inverted if `<CAPS LOCK>` is turned "ON". Right button will send messages from left button and so on. This feature is useful for broken mouses and for Apple mouses with only one button available.

Enhancer can suppress double click in window system menus. With this option double clicking on the system menu (the picture in the upper left corner of the window) will open the menu instead of window close.

Middle mouse button (or roller) can be used to post `<CTRL-INSERT>` and `<SHIFT-INSERT>` key messages to the window under a mouse pointer. One click will copy text to the Clipboard and double click will paste text from it.

Since you always pressing mouse button one time before double clicking, the Enhancer waits some time before sending a message to the window. This time is equals to the "double click time interval" which can be set in the OS/2 Mouse Properties window.

For users who like to browse the Web and often view pages with frames. Enhancer can move keyboard input focus under mouse pointer when you try to scroll it. When scrolling event occurred keyboard input is redirected to the window (or webpage frame) under a mouse pointer.

#### Window placement

Window placement settings

Enhancer can change window placement and arrange windows by the center of the screen. Text mode windows, WPS folders and some other windows can be arranged better after opening using the more convenient placement for each window. For example, if you specify custom matrix size for FC/2 file manager it will change its window size and Enhancer will move the FC/2 window and place it better.

#### Dialog boxes, Scripts and Field Values

running Scripts after Logon

You can specify an application or Rexx script to launch after you entered login and password values into the selected Logon window. This script will use values you entered into the window, it will be started in background mode after a short delay, when application required Logon is terminated and Logon window is closed.

To add Logon window to the list of known windows, just start the Logon process, but don't enter any values into the Logon window. Then launch the Enhancer and add this window to the list. Specify an application/script and its parameters. For example, if you want to connect to the FTP service after you entered to the Novell network, you should launch NWTools and add its Logon window into the list of known Logon windows, and your Rexx script will receive values you typed into the NWTools Logon.

The Enhancer does not remember your login and password anywhere; nobody can read and steal them by looking into the program settings or any temporary files.

saving and restoring Field values

If you want to keep the fields in various dialog windows in the permanent state, you can open such window, type all values into its fields and add it into the list of known windows. Enhancer will restore field values every time when this dialog occurs.

sending "Yes!" to message boxes

Enhancer can close message boxes sending them "OK!" messages from their buttons. To add message box into the list of known message boxes just launch it and add it into the list. Then select a button, and Enhancer will send a message from it to the window.

#### Drive on demand

"drive on demand" settings

Using the network we are frequently demanded to get access to remote drives, and attach new drive to read or write a file. Here it is possible to add some items to the drive lists in "Open" and "Save As" dialogs and launch OS/2 "Connections" folder on demand. If you have any tools to manage the network, place them into this folder. They will be available from File dialogs.

short example of this feature

You can add the path names to the drive lists and change the current path in the file dialogs by selecting them.

#### Priority levels

priority settings

Each application or thread gets a specific amount of CPU time that depends on its priority level. These values can be inspected using the WatchCat Task Manager. The priority levels can be changed from 100 up to 400. The usual values are 200..210, but some developers increases it to 300 or 400 "for better performance". In this case the application becomes dangerous, any little error in it will enough to hang the system. You can normalize the priority levels for some applications, for example, it is necessary for ODIN applications and Java Applets.

This is similar to the "nice"command in Unix systems. Another way is to calculate priority levels for all windows. If this option is selected the Enhancer will calculate and change priority levels for all visible applications. Minimized and hidden applications gives the lowest priority level (100), visible applications gives middle level (100+), and active application gives regular (200) priority level. Invisible (not accessible from Window List) and detached (internal system) applications will works with their own levels. Workplace Shell always works with its own priority level.

These options are not recommended for server usage, but they are useful for client workstations.

#### Window List

Window list cleaning

Enhancer can remove some items from the Window List and `<ALT-ESC>` round-robin. For example, you can hide the LaunchPad, WarpCenter and so on. The Window List cannot be empty so Enhancer does not remove the "Desktop" item from it.

#### VIO (text-mode) windows

VIO Clipboard actions

It is possible to mark blocks in text-mode windows using the mouse and immediately copy them into Clipboard. Also you can perform "Copy" and "Paste" actions pressing `<CTRL-INSERT>` and `<SHIFT-INSERT>` keys. This feature is useful in SSH and Telnet console windows.

VIO font size

You can specify font metrics for selected VIO windows. It will be useful if you run two or more text-mode applications at the same time.

#### System patches

System patches

You can launch the usual Window List from WarpCenter, the Screen Saver (also known as "Lockup window") can be closed by pressing a key or mouse button, animation rules can be changed, and so on. An interesting feature is "restore and show minimized windows before closing" - this patch is useful for applications like System Editor which remembers states and positions of their windows including "minimized" state.

Folder Wallpaper settings

You also can change background in WPS folders. This feature is a little addition to the common Desktop Scheme Palette. You can specify any background image for folders which has no pre-defined background, and every time you open such a folder WPS will temporary load this image and use it while you browse objects in the folder.

### PART FIVE - THE CONCLUSION

#### The latest version?

The latest version is 5.0, released Winter 2003.

#### Where to download?

The latest versions are available on Hobbes FTP archive:

http://hobbes.nmsu.edu/cgi-bin/h-search?key=Nice+Enhancer&sort=date&dir=/pub/os2/util/wps

Beta versions are not available because this application runs deeply in the system and cannot be buggy. Beta testers are welcome.

#### The Conclusion

As you can see, OS/2 is growing constantly day by day with other world. We are not on the peak but we are going on. What you want to do with your computer? A lot of programs can serve you. This is the next one.

Enjoy it.

References: Nice-OS/2 Enhancer v 5.0 Developer: Medion http://hobbes.nmsu.edu/cgi-bin/h-search?key=Nice+Enhancer&sort=date&dir=/pub/os2/util/wps Price: Free Other links referenced: ECOMSTATION.RU - http://en.ecomstation.ru OS2.RU - http://www.os2.ru

Sergey Posokhov is the developer of Nice-OS/2 Enhancer. Sergey is a computer programmer living in Moscow, Russia. Besides OS/2, Sergey loves Jamaican Ska, Rocksteady, Reggae, Oi! and Punk-77. You don't want to mess with Sergey as his hobbies include kung-fu, ski walking and scooters.

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