Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Alex Taylor

Pages: [1] 2 3 ... 21
Applications / Re: Docker
« on: Today at 02:04:17 am »
The only way to run Docker on OS/2 would be inside a VM.

Docker depends on very specific kernel and filesystem functionality in Linux which simply doesn't exist on OS/2.  (When running on Windows, it either runs inside Hyper-V, or inside the Windows Subsystem for Linux environment. I believe on MacOS it also runs inside a VM.)

Programming / Re: Qt6
« on: January 29, 2023, 07:02:11 pm »
Hey guys,

From the screenshots, it definitely looks like Qt6 is trying to draw the fonts at 96dpi, when they should be 120dpi.

Interesting - so it looks like the dpi setting is also used to scale fonts, as well as screen resolution. I'll dig into this some more - I still think this is a step forward - I'd rather small fonts/menus in the correct location, than larger fonts that are offset in position :)



Edit: probably explains what's happening....

It sounds like you've figured out the conversion for window scaling, it's just font scaling that's off.

This stuff can be a bit hard to keep straight, even for someone like me who's studied it at length... I'll include some background info here because it makes it easier for me to articulate things.  It doesn't mean I assume you don't know much of this already.

A font's point size is a fixed unit of measure where 1 pt == 1/72 of an inch.  So when a font is 12pt, that means its "em height" (a measure which means the bounding height of unaccented characters) is 12 points (or 1/8 inch) high.

On a computers, we measure things in pixels instead of inches.  So font scaling is all about figuring out the conversion factor of points to pixels.  To do this, we use the DPI resolution of the output device (the screen or printer). 

OS/2 Presentation Manager supports two DPI settings: 96 (which is the default at 800x600 and below), and 120 (which is the default at 1024x768 and up). 

So when a font is rendered on screen, its em height is scaled down to a number of pixels equal to pts * (DPI / 72). For example, a 12-point font on a 120 DPI screen would be drawn at 12 * 1.666666 == 20 pixels high.

Conversely, if you have a specific pixel height and you want to know the correct point size that will fit it, you flip the equation: points = pixels / (DPI / 72).  So to render an unaccented character (without padding) in a 30-pixel high box at 120 DPI, you need 30 / 1.666666 == 18pt.  (To allow space for accents and line spacing, you'd normally pad this a bit, probably by querying some of the font-specific metrics like lMaxAscender.)

Things get a bit more complicated because some programs like the Mozilla apps (and probably also Qt), define their own DPI setting separately from what PM thinks it should be. 

I assume you need to adjust Qt's DPI to match the current PM value, or else apply a conversion factor between the two.  (I'm not sure how Qt represents this internally.  The documentation I found is not very informative.)

You can query the current PM DPI setting using DevQueryCaps. 

Code: [Select]
HDC hdc
LONG lCap, lDPI = 0;

hdc = WinOpenWindowDC( hwnd )
if ( DevQueryCaps( hdc, CAPS_VERTICAL_FONT_RES, 1, &lCap ))
    lDPI = lCap;
if ( !lDPI )
    lDPI = 120;

Programming / Re: Qt6
« on: January 22, 2023, 08:55:34 pm »
From the screenshots, it definitely looks like Qt6 is trying to draw the fonts at 96dpi, when they should be 120dpi.

General Discussion / Re: ArcaOS on Youtube @MichaelMJD
« on: January 22, 2023, 01:53:48 am »
WP does indeed use MIRRORS.DLL (I just double checked and sure enough it's there on diskette 1).

General Discussion / Re: ArcaOS on Youtube @MichaelMJD
« on: January 20, 2023, 02:40:57 pm »
Interesting that he also has WP 5.2, and I see he encountered some of the same problems as me with using it.

FWIW, the weird colour problem he has is a known issue.  I have this saved from comp.os.os2.apps from ages ago when I was trying to set this up...

Date: Fri, 10 Dec 1999 17:33:53 GMT

Gary Bishop wrote:
> I may be the only one still trying to use this but here goes.
> WordPerfect for OS/2 ran fine under Warp3 but when I upgraded to Warp4
> everything works ok except the font palette does not seem to recognize
> any of the setups. Instead of a white background with black text most
> of the time it is reversed (black background/white text). I have tried
> lots of settings with no luck. Anyone got a fix or suggestion?
> Thanks in advance!!!!
> Gary Bishop
> University of Denver
> * Sent from RemarQ The Internet's Discussion Network *
> The fastest and easiest way to search and participate in Usenet - Free!

You are not the only one!  I've been using it for years and the fixpacks
to Warp 4 have made it much more stable than it was in Warp3 and basic
warp 4.

The fix is easy and documented. Just add the switch /FL in the Optional
parameters section of the WP properties icon object.

SENT BY: Lynn Scott McCarty
    Markham, ON, Canada
    lsmccarty "at" home "dot" com

I also found that the WPS classes it registers are rather unstable on OS/2 4.5x.  I used this script post-install to remove them.
Code: [Select]
IF ( RxFuncQuery('SysCreateObject') == 1 ) THEN DO
    CALL RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
    CALL SysLoadFuncs

CALL KillClass 'WordPerfectDocument'
CALL KillClass 'WordPerfectGraphic'
CALL KillClass 'WordPerfectFile'
CALL KillClass 'WordPerfectObject'

SAY 'Please reboot or restart the Workplace Shell.'


    PARSE ARG classname

    rc = SysDeregisterObjectClass( classname )
    IF rc = 1 THEN
        SAY 'Class' classname 'successfully deregistered.'
        SAY 'Class' classname 'could not be deregistered.'


I don't have a YouTube account, otherwise I might post this as a comment on the video.  (Anyone else is free to.)

FTR, I haven't actually used WP/2 for a long time, even with the above I never found it to be all that stable on OS/2 4.5x.

Applications / Re: Security/2 and user parameters
« on: December 26, 2022, 05:50:21 pm »
I just installed the openssh from as well as Security/2.  While the documentation does show the parameters available for "user",  it doesn't really explain how to use it explicitly.  Like, how to change the directory for a particular user.

I managed to create a new user as well as changed the password.

However, I'm having trouble with changing the shell and directory using the following commands:

I haven't looked at this stuff in years, so I can't offer much guidance. However, I seem to recall that setting user shell & home directory was easier accomplished by simply editing the %ETC%/passwd file directly (see section 14 of the Security/2 readme).

Applications / Re: Dialog Enhancer '99
« on: December 01, 2022, 12:41:05 am »
Dialog Enhancer 99 is compatible with Warp 4.  It should not be considered compatible with either eCS or ArcaOS. Installing it on either system will break certain functionality.

eCS licensed and integrated an updated version of Dialog Enhancer which is properly compatible with that system.

ArcaOS does not include Dialog Enhancer per se, but rather a newly-designed set of dialog enhancements specifically intended for it.

Applications / Re: To .config or not .config
« on: October 03, 2022, 01:59:29 pm »
%HOME%/.config is a Qt thing. The built-in Qt routines for reading/writing settings automatically use that location.

Applications / Re: VisualAge for C Modern Installer
« on: September 25, 2022, 05:37:02 am »
I wrote a couple of articles years ago on how to install FI based products without Netscape:

General Discussion / Re: I have a problem
« on: July 27, 2022, 04:53:32 am »
I have the same motherboard. However, I'm using a CPU (not an APU), so I'm not using onboard video support. Instead I'm using a PCIe Radeon RX550 GPU video card. Perhaps that may be relevant?

Here, Air-Boot works OK in CSM mode... with one exception, that being that it doesn't recognize the NVMe disk but only the SATA drives.

It seems like the one printer is not embedding TrueType fonts. The IBM PSCRIPT driver doesn't support this. The newer PSPRINT driver does, but it requires a few things, namely:
  • The printer has to support it (i.e. the PPD must have the TTRasterizer attribute set to Type42)
  • The embedding feature has to be turned on in the printer driver properties.
  • The print job properties must have the number of downloaded fonts set to a high enough number to cover all the fonts being used in the document (20-30 is usually sufficient).
  • The fonts specified in the document must actually be installed on your system.
  • Each embedded font can be no larger than 2 MB (1MB if the printer has no FreeVM defined), or half the printer's RAM, whichever is less.

Applications / Re: anpm - yum permission denied ?
« on: May 04, 2022, 03:57:40 am »
I saw this same error (same package) when I changed my platform from i686 to pentium4 and then immediately attempted to install libc and libcx. libc started to install but then this message came up.  I suspect the change in platform may have confused things.  I did see yum apparently seemed to suddenly think that the pentium4 version of libc was installed after changing the platform.

I rebooted, after which the currently-installed libc showed as i686 again, and I was able to update it (the latest pentium4 version installed) with no further issue.

Applications / Re: SeaMonkey downloads and Unix permissions
« on: January 10, 2022, 03:54:08 am »
In my QE editor and a few other programs, I simply make sure that new files are created without EAs. 

More precisely, because libc creates these file permission EAs on a new file automatically, my save routines all have some logic to immediately delete them if the file was new. (I don't do that when updating an existing file because the user might actually have set them on purpose.)

Code: [Select]
    if ( !fileExists ) {
#ifdef __OS2__
        // If this is a new file, get rid of the useless default EAs added by klibc
        deleteEA( pszFileName, (PCSZ) "UID");
        deleteEA( pszFileName, (PCSZ) "GID");
        deleteEA( pszFileName, (PCSZ) "MODE");
        deleteEA( pszFileName, (PCSZ) "INO");
        deleteEA( pszFileName, (PCSZ) "RDEV");
        deleteEA( pszFileName, (PCSZ) "GEN");
        deleteEA( pszFileName, (PCSZ) "FLAGS");

Code: [Select]
unsigned long deleteEA( char *pszPathName, const char *pszEAName )
    PFEA2     pFEA2 = NULL;
    EAOP2     eaop2 = {0};
    size_t    cb = 0;

    cb = sizeof( FEA2LIST ) + strlen( pszEAName );
    pFEA2List = (PFEA2LIST) calloc( cb, 1 );
    if ( pFEA2List ) {
        pFEA2List->cbList = cb;
        pFEA2 = pFEA2List->list;
        pFEA2->cbName = (BYTE) strlen( pszEAName );
        strcpy( pFEA2->szName, pszEAName );
        pFEA2->cbValue = 0;

        eaop2.fpFEA2List = pFEA2List;
        rc = DosSetPathInfo( (PCSZ) pszPathName, FIL_QUERYEASIZE,
                             (PBYTE) &eaop2, sizeof( eaop2 ), DSPI_WRTTHRU );
        free( pFEA2List );
    return (unsigned long) rc;

Setup & Installation / Re: VirtualBox and Warpin (wic.exe)
« on: December 30, 2021, 03:26:52 am »
So I extracted the install script (wic -X) from the VirtualBox WPI file and listed the package (wic -l), but I have not found a way to list the specific files in the package other than extracting them with wic -x. It looks like I should be able to delete the 9 files, add the newer versions from the Guest Additions ISO, update the script (see below), and add that, as well.

Archive: "vboxadd.wpi"
WPI revision: 3
Stub size: 0 bytes
Package 1
     9 files, size:  5,107,122 bytes original
                     1,694,924 bytes compressed (67% compression)
Summary: 1 package(s), 9 files total
     5,107,122 bytes original
     1,694,924 bytes compressed (67% compression)

Put a package number at the end of the command line to see the files in that package.

Or you can use my ARCVIEW program, it will display WPI file contents.

The version string for the PACKAGEID in the install script would need to be changed:
<PCK INDEX=1 PACKAGEID="Oracle\VirtualBox\Client Additions\6\1\12"

What am I missing?

Other than updating the changed files, not much. Unless, of course, the actual required install logic needs to be changed, in which case you'll need to figure that out.

Applications / Re: Time sync in VirtualBox guest off by 1 hour
« on: July 20, 2021, 03:44:14 am »
FWIW, Dmitry seems to have isolated the problem in libcn and has provided a test build (link in the quoted ticket) which appears to fix the problem here.

Pages: [1] 2 3 ... 21