Here you will find an assortment of programs which I've written for the OS/2 operating system. These are largely in the way of system tools or utilities for rather specialized tasks.
The following programs may be found on this page.
- Archive Viewer
- FreeType/2 IFI
- Icon Themes
- TCP/IP Profile Manager
- VX-REXX Extras Library
Other programs of mine are available on separate pages of this site:
- Programs specific to printing under OS/2.
- Programs specific to the OS/2 Logical Volume Manager.
- Programs related to OS/2 ULS and Unicode support.
- Useful OS/2 REXX scripts.
- Software which I've ported to OS/2 from other operating systems.
Other OS/2-related programs not written by me may be found under the OS/2 Utilities section of this site.
Archive Viewer is a very simple GUI tool for viewing and extracting archive files of various types. It originated as a system utility included in eComStation (and it remains so to this day). However, I have also decided to release it as open source software under the GNU GPL.
Archive Viewer cannot create archives, nor is this ever planned as a feature. (It is not my intention to compete with commercial archive managers for marketshare.)
Version 2.2 adds a few new features which significantly enhance the program's usefulness. These include:
- The ability to search for text (such as a filename)
- The ability to extract a specific file, or group of files (with wildcards) from the archive.
- A 'view' option to quickly view a file within the archive by opening it in the default WPS viewer, without having to unpack the archive first.
The binary package provided here requires WarpIN to install.
Watcom VX-REXX (version 2.1D) is required in order to build the source code. The IBM OS/2 Toolkit is required to compile the language support files.
The current binary release includes only English language support. The source code for the language support files are provided in a separate package (below). Earlier versions of Archive Viewer had support for several other languages; the support files for these languages need updating before they can be used with version 2.2. (These files are included in the translator's package.) I would welcome contributions from those willing to assist in creating up-to-date translations for these or other languages.
|arcview_22.wpi||Archive Viewer version 2.2, program install package (WarpIN).|
|arcview_22_nlv.zip||Translator's source for the language support files, required for translating Archive Viewer into other languages. (For the benefit of translators, outdated/incomplete source files for several non-English languages, taken from earlier versions of Archive Viewer, are included.)|
|arcview_src_22.zip||Full program source code (VX-REXX); also includes the translator's source files from the package above.|
ATSHELL is a small program designed to replace PMSHELL.EXE as the OS/2 RUNWORKPLACE program. It allows an arbitrary program to be used as the 'desktop', including (but not limited to) the Workplace Shell (PMSHELL), a web browser, a file manager, or some custom application. It also allows this desktop program to be stopped and restarted, or even changed to something else entirely, without rebooting the system. In addition, ATSHELL allows you to open command prompts or shut down the system, even when the desktop program is not running.
A simple 'secure' mode is also provided, which allows the system administrator to prevent users from opening command prompts or changing the desktop program.
ATSHELL was originally conceived as a shell replacement for 'web kiosk' type systems, but it is useful for other situations as well. For instance, you can set ATSHELL as your desktop shell, then use it to start the Workplace Shell (transparently, if you wish). Then, if the WPS ever has to be terminated, you will automatically be returned to the ATSHELL window, whence you can shut down, use the OS/2 command line, or restart the WPS, as you prefer.
See the README file for more information.
ATSHELL is free software licensed under the GNU GPL.
|atshell_05_src.zip||Source code (C)|
ConText is a utility for converting text from one encoding (codepage) to another.
It does two useful things. First of all, it lets you convert text from one arbitrary codepage to another. That is, all character byte values are changed as needed to preserve the original meaning of each character under the target codepage. (Note, however, that all text is displayed using the current Presentation Manager codepage.)
Second, ConText also supports the copy and paste of Unicode text (such as may be copied using one of the Mozilla products) to and from the clipboard.
See the README for more information.
ConText is licensed under a BSD-style license. Since the program is at least partly intended as an illustration of the OS/2 Unicode APIs, the source code is included in the main distribution.
text (IBM-866/Russian to UTF-8)
(Note that, in this example, neither the input nor output text is actually readable on the screen, since the program was run under codepage 850.)
|context_04.zip||Program files and source code (C)|
Extended Character Map (formerly DBCSMAP) is an OS/2 character map program for both single- and double-byte characters. It supports the Unicode Basic Multilingual Plane, as well as common OS/2 codepages for Chinese (Traditional and Simplified), Japanese, and Korean.
See the README file for more information.
Extended Character Map is free software licensed under the GNU GPL (version 2). The source code is available on Github.
- Viewing the current system codepage
- Selecting Unicode characters
- Selecting Japanese characters (codepage 943, Shift-JIS)
|dbcsmap-1_6.zip||Extended Character Map, version 1.6|
FreeType/2 is an OS/2 Presentation Manager font driver for TrueType fonts. It is designed to replace OS/2's built-in TRUETYPE.DLL driver, and is based on the open source FreeType library.
Some explanatory notes are in order.
- What this is:
- FreeType/2 is a system-wide font driver (more technically called an Intelligent Font Interface driver) for Presentation Manager. This means that all graphical programs which rely on OS/2 for rendering text will benefit from the improved font support.
- What this is not:
- FreeType/2 is not the same as the FreeType library, which is for use by individual applications that want to avoid using OS/2's default text rendering functions. Consequently, using FreeType/2 will have no effect on applications or GUI environments which use FreeType internally for rendering, such as the Mozilla products, QT4, or anything which uses the Innotek Font Engine.
Furthermore, FreeType/2 only replaces the TrueType support module within Presentation Manager. It cannot circumvent any of the limitations inherent in Presentation Manager's graphics layer (GRE/GPI). In particular, there is no support for antialiased fonts, or for font names longer than 31 characters (both of which are restrictions imposed by GRE/GPI, and not by the font driver).
This is version 1.3 of FreeType/2. The driver was originally (v1.0 and 1.1) written by Michal Necasek. More recent versions (v1.2) were maintained by KO Myung-hun.
Some highlights of version 1.3 compared to previous releases include:
- Several new configuration settings designed to improve the reliability of character-to-glyph mappings (especially for Unicode fonts).
- Various improvements to DBCS font support.
- Better compatibility with other font drivers with respect to how FONTMETRICS data is populated.
- Includes a workaround for the 'run-together text' bug seen with some fonts when printing from OpenOffice.org 3.x. (See here for an explanation.)
- Comes with an easy-to-use graphical configuration utility.
See the README file for more information.
Note: FreeType/2 v1.3 is linked against version 1.3.1 of the FreeType library (the similar version numbers are coincidental). As such, it only supports TrueType fonts; this includes OpenType/TT fonts (although OpenType-specific features such as layout tables will be ignored). It does not currently support OpenType PostScript fonts or any other non-TrueType font format.
The source code is distributed (see the link below) under the FreeType license.
- The configuration GUI:
- There are several images illustrating the improvements in text rendering quality here.
|ft2v134.zip||FreeType/2 installable font driver, version 1.34|
In addition, the latest source code is available on Github.
FrontenACT is a graphical front-end for the "Enhanced CTorrent" BitTorrent client for OS/2. Refer to the README for details.
FrontenACT is a complete rewrite of my older, experimental, program known as PM CTorrent Manager. It fixes some major design flaws, consumes fewer system resources, and should be much more reliable in general.
|frontact05.zip||FrontenACT version 0.50 binaries|
|frontact05_src.zip||Source code (VX-REXX)|
Icon Themes is a program which allows the desktop icons used throughout the Workplace Shell to be changed, based on installable icon sets or 'themes'. A number of themes are included, and various others are available from third-party sources.
It has a number of other prerequisites as well; see the release notes for details.
|itheme_22.wpi||Icon Themes v2.2 (installable WarpIN package)|
|itheme_toolkit_22.zip||Toolkit (v2.2) for creating new themes|
Source code for version 2.2 is hosted at NetLabs SVN (revision 134).
IMERJ is a "poor man's" input method editor (IME) for Japanese. It allows you to enter Japanese characters by typing romanized text in the edit window. You can then copy and paste the Japanese text to wherever it's wanted.
IMERJ runs as a self-contained application – it does not function as a front-end processor for the desktop as a whole. As such, it is intended mainly for use on non-Japanese OS/2 systems where a full-fledged IME is not available. (Users of native Japanese versions of OS/2 will probably not find it very useful, as the built-in OS/2 IME is considerably more sophisticated.)
Starting with version 2, IMERJ has limited support for converting kana into kanji. This requires the EDICT (or EDICT_SUB) and KANJIDIC dictionaries to be installed. These are free Japanese word and character dictionaries maintained by the Electronic Dictionary Research and Development Group (EDRDG). IMERJ can still be used without these dictionaries, but kanji conversion will be disabled.
See the release notes for details.
IMERJ is released under the GNU General Public License, version 3. The source code is hosted on NetLabs SVN under the VXApps project.
- Main window, showing the kanji conversion feature.
|imerj-2_0.wpi||IMERJ as an installable WarpIN package. This includes IMERJ, the EDICT_SUB and KANJIDIC dictionaries, and can also install RXULS and/or VROBJEX if necessary.|
|imerj-2_0.zip||IMERJ program files, zipped. (Does not include the EDRDG dictionaries or the additional DLLs.)|
|edict_sub.zip||Latest EDICT_SUB dictionary file (Monash FTP server)|
|kanjidic.zip||Latest KANJIDIC dictionary file (Monash FTP server)|
Note: Source code for version 2.0 is on NetLabs SVN as revision 167.
InstFont is a simple command-line tool for installing a font under OS/2 Presentation Manager.
This program was designed to facilitate automated font install packages. While it is possible to install a font manually (e.g. using REXX) by setting the appropriate entries in OS2.INI, using this technique requires the user to reboot in order to make the new fonts available. With InstFont, you can install a font on demand and have it available to the system immediately.
|instfont10.zip||Executable and source code (C)|
MYIP is a simple TCP/IP utility for querying the current system's IP address as seen from the Internet.
Specifically, MYIP contacts a special website that reports the IP address of your computer as the remote server sees it. This allows you to determine your public IP address even if you are connecting through a firewall or router that uses network address translation.
MYIP requires a 32-bit TCP/IP stack (i.e. MPTS 5.3/WR_8600 or higher).
Source code (released under the GPL) is included.
See MYIP.TXT for more information.
|myip_02.zip||Program files and source code (C)|
TCP/IP Profile Manager lets you define and switch between multiple different TCP/IP configurations.
This is mainly useful if you have a notebook or portable computer which you have to move between various different locations requiring diffent IP configurations.
See the program README for more information.
|ipprf_11.zip||TCP/IP Profile Manager version 1.0|
|ipprf_11_src.zip||Source code for version 1.0 (VX-REXX)|
VX-REXX Extras is an API & class library designed to extend the functionality of Watcom VX-REXX (version 2.1). Its objective is to provide various new object classes and useful functions.
The included file (VROBJEX.DLL) functions as both the object library for developers, and the runtime library for end users. Users who need to install this library can simply copy VROBJEX.DLL to anywhere in their LIBPATH. For VX-REXX developers, installation instructions are provided in the release notes.
Currently (version 1.3), the VX-REXX Extras library provides the following:
- Support for flyover help (tooltips) with any type of control.
- A progress bar control supporting different visual styles (Progress).
- An enhanced button control supporting various combinations of image and text (IconButton)
- A Warp-4-style notebook control (TabbedDialog)
- A colour selection dialog (using the PM "colour wheel" control)
- A directory selection dialog
- Functions for accessing clipboard even from text-mode programs
- Some examples of the new Progress control.
- Some examples of the new IconButton control
- VX-REXX designer showing the new TabbedDialog control
- Sample program demonstrating the use of ToolTips
- The colour selection dialog
- The directory selection dialog
|vrobjex_132.zip||VX-REXX Extras version 1.3.2|
Note: Source code for version 1.3.2 is on NetLabs SVN as revision 165.