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.

Topics - Dariusz Piatkowski

Pages: [1] 2 3 ... 12
Programming / Resources, dialogs, etc - what tools for what jobs?
« on: November 18, 2023, 04:41:34 pm »
PUMonitor enhancement project follow-up...

The original author provided a text RC file that defines all the resources the utility uses. No problem there, the Resource Compiler get that into a RES file, which is then ultimately attached to the EXE itself. My makefile handles that. Keep in mind that he developed this in Borland C++, so I am assuming he used the Borland Resource Workshop. now I need to change the Settings dialogs and as best as I know (which granted is very little on this topic ;)) I was expecting to use the Dialog Editor to actually visually modify/add the right layouts, etc. The Dialog Editor however (which is the Toolkit one) only wants to open a RES file, which while managable (b/c I have that as an output of the Resource Compiler run) will not afterwards reflect the changes in the source RC file. In other words: it looks like I can make changes to the RES itself, but once I do how do I get these into the underlying RC itself?

I understand why the ability to just change the RES is desirable: after all, if I want to adjust just a resource it is awfully nice to do so w/o having to recompile all the sources, etc.

OK, so back to my task, my thinking here is: if my makefile is looking to always compile the RC, clearly when I modify just the RES I will always overwrite those changes with the output of compiled RC, no?

Further on I understand that the Dialog Editor should allow me to create the DLG file, with the option to create the compiled version, that being the RES extension. OK, but trying to do this with my Dialog Editor only allows me to open a RES file, and attempting to save it simply points back to the same RES and optional H files. digging through my OS/2 DEV library I see the mention of Dialog Editor ONLY creating DLG text files when one starts with a NEW dialog...hmm??? So is the expectation really that all further changes are to be done by hand (if I want to reflect the actual changes in the underlying DLG source), or through a direct GUI manipulation of the previously generated RES file (using Dialog Editor)?

That just seems weird...I should be able to visually modify a dialog and upon saving it update the source definition file itself, be it RC or DLG (depending of course on what particular resource I am modifying).

So what am I missing here?

FYI - attempting to open the RC file itself in Borland Resource Workshop produces an error:

"Compiling MENU: ID_MENU"

Code: [Select]
G:\code\source\os2\pumonitor\src\source\pumon2.rc 20:Expecting END

The Help feedback states:

Resource Workshop encountered an unexpected token when searching for the END keyword. This error is frequently caused by a typo in an identifier name.

Which I think is strange given that this RC file compiles successfully into RES, which itself is attached into the EXE and by all accounts that's working quite fine.

Here is the matching part of the RC itself:

Code: [Select]
        MENUITEM "~General"       , ID_MENU_SET_0, MIS_TEXT
        MENUITEM "~CPU Meter"     , ID_MENU_SET_1, MIS_TEXT
        MENUITEM "~Memory Meter"  , ID_MENU_SET_2, MIS_TEXT
        MENUITEM "M~ail Checker 1", ID_MENU_SET_4, MIS_TEXT
        MENUITEM "M~ail Checker 2", ID_MENU_SET_5, MIS_TEXT
        MENUITEM "M~ail Checker 3", ID_MENU_SET_6, MIS_TEXT
        MENUITEM "M~ail Checker 4", ID_MENU_SET_7, MIS_TEXT
        MENUITEM "M~ail Checker 5", ID_MENU_SET_8, MIS_TEXT
        MENUITEM "C~onnectivity"  , ID_MENU_SET_9, MIS_TEXT
    MENUITEM ""            ,            -1, MIS_SEPARATOR
    MENUITEM ""            ,            -1, MIS_SEPARATOR

Applications / NewView - control over NEW window placement?
« on: October 15, 2023, 01:47:53 am »
Is there any sort of parameter/setting that defines where each NEW NewView window is to be placed on screen?

I ask b/c in my setup (dual-monitor & 12 virtual desktops) every time I invoke NewView it pops up right next to the previous instantiation, which most of the time puts it in another window and normally in a different virtual desktop altogether. So I then chase it down and re-position, etc, etc.

OK, so having said that, I did see the following in the app help:


Set the main program window to the given position and size

...and while that allows me to position & size a NEW window in specific ways, as soon as I open a NEW window (w/o first closing the already opened one) that NEW window gets created right over the previous one, although safely offset by a few pixels.

Needless to say, that control doesn't help as I'm back to "square one".

Programming / makefile interpretation - help needed
« on: October 15, 2023, 01:20:08 am » this is part of my on-going attempt to add shared memory monitor to the PUMonitor utility.

Alright...PUMon relies on Borland's BMAKE for makefile handling, so I figured I would take a stab at converting that to NMAKE32 instead so I can use my VAC++ 3.6.5. Heck, I started this a looonnnnggg time ago (see,2646.msg29061.html#msg29061) and now that I've made the memory watch code changes I really needed to commit and get that previous attempt to produce results!!!

Ha...but OK, I am basing this work on the original makefile and in the TARGET section:

Code: [Select]
# Targets
all :  pumon2.exe

@cd .\obj
-@del COMMON.LIB >nul 2>nul
@$(LIBRARIAN) COMMON.LIB @..\library.rsp;
@cd ..

pumon2.exe : COMMON.LIB pumon2.obj pumon2.res
@cd .\obj
$(CC) @&&|
pumon2.obj COMMON.LIB   ..\source\si2.lib ..\source\win32k.lib so32dll.lib tcp32dll.lib pumon2.def
@$(RC) pumon2.res pumon2.exe
@cd ..

there I find the following snippet which I'm thrown off by:

Code: [Select]
$(CC) @&&|
pumon2.obj COMMON.LIB   ..\source\si2.lib ..\source\win32k.lib so32dll.lib tcp32dll.lib pumon2.def

I need help understanding this.

'CC' macro expands to => CC=icc -O+ -Oc+ -Ss+ -G5 -Q+ -Gm+ -I..\include -B"/ST:327680 /NOE /E:2" -B"/PMTYPE:PM"

Seems simple at first: the compiler is called, and given the placement of that command (PUMON2.EXE target) it appears that this is the FINAL call to link everything together.

OK, but that "@&&" string right after it implies a CLI conditional execute call that will only execute the stuff following "|" if the CC call is successful, but the "|" (pipe)??? what is that about (what sort of CC output am I expecting to pipe into the next section???)...and if CC will execute as-is, what the heck is it processing anyways given that I do not see anything telling it to pick up a dependent, nor to create a target.

Clearly I am missing something here and having spent a couple of hours on this tonight I'm stuck...

Programming / shared memory value - Odin win32k or DosQuerySysInfo???
« on: September 26, 2023, 10:08:32 pm »
I'm making some adjustments to the PUMonitor utility to show the largest available shared memory area (low shared memory I believe) alongside the current 'available memory' estimate.

Specifically, the PUMonitor utility relies on win32k.h definitions and library calls:

Code: [Select]
/* $Id: win32k.h,v 1.11 2001/03/15 20:03:10 bird Exp $
 * Top level make file for the Win32k library.
 * Contains library and 32-bit IOCtl definition.
 * Copyright (c) 2000 knut st. osmundsen (

That library has a K32SYSTEMMEMINFO record which appears to already collect the shared memory information:

Code: [Select]
    /* Virtual Memory manager info. */
    ULONG       ulAddressLimit;         /* VM: Current user virtual address limit - use this for high arena check. (VirtualAddressLimit / 0x20000000) */
    ULONG       ulVMArenaPrivMax;       /* VM: Current highest address in the private arena. (vmRecalcShrBound()) */
    ULONG       ulVMArenaSharedMin;     /* VM: Current lowest address in the shared arena. (ahvmShr) */
    ULONG       ulVMArenaSharedMax;     /* VM: Current highest address in the shared arena. (ahvmShr) */
    ULONG       ulVMArenaSystemMin;     /* VM: Current lowest address in the system arena. (ahvmhSys) */
    ULONG       ulVMArenaSystemMax;     /* VM: Current highest address in the system arena. (ahvmhSys) */
    ULONG       ulVMArenaHighPrivMax;   /* VM: Current highest address in the high private arena - aurora/smp only. (vmRecalcShrBound) */
    ULONG       ulVMArenaHighSharedMin; /* VM: Current lowest address in the high shared arena - aurora/smp only. (ahvmhShr) */
    ULONG       ulVMArenaHighSharedMax; /* VM: Current highest address in the high shared arena - aurora/smp only. (ahvmhShr) */

Just looking at that single header file I see the following functions being called out:

Code: [Select]
*   External Functions                                                         *
/* Win32k APIs */
APIRET APIENTRY  libWin32kInit(void);
APIRET APIENTRY  libWin32kTerm(void);
BOOL   APIENTRY  libWin32kInstalled(void);
APIRET APIENTRY  libWin32kQueryOptionsStatus(PK32OPTIONS pOptions, PK32STATUS pStatus);
APIRET APIENTRY  libWin32kSetOptions(PK32OPTIONS pOptions);

/* "Extra OS2 APIs" */
APIRET APIENTRY  W32kProcessReadWrite(PID pid, ULONG cb, PVOID pvSource, PVOID pvTarget, BOOL fRead);
APIRET APIENTRY  W32kHandleSystemEvent(ULONG ulEvent, HEV hev, BOOL fHandle);

/* Helper function */
USHORT APIENTRY  libHelperGetCS(void);

In particular PUMonitor uses the W32kQuerySystemMemInfo function to retrieve the existing physical available memory information (cbPhysAvail), and it would seem the following would provide what I'm looking for:

ULONG       ulVMArenaSharedMin;     /* VM: Current lowest address in the shared arena. (ahvmShr) */
ULONG       ulVMArenaSharedMax;     /* VM: Current highest address in the shared arena. (ahvmShr) */

However...I haven't been able to find any references and DEV explanations for these, so I'm curious if anyone has used these?

The DosQuerySysInfo is a known way to get this, but obviously I'd rather not re-invent the wheel if I can use the existing approach.

As always, appreciate the feedback!

Applications / ANPM - libc upgrade error...?
« on: May 06, 2023, 04:08:29 pm »
Just spotted that libc has been updated, so I figured I'd give this a go.

Firing up ANPM went just fine, but attempting to update that RPM consistently results in the following error (see attachment).

Went as far as to re-boot, still the same result...curious if anyone is seeing this as well?

Running ANPM in DEBUG mode produces the following:

Code: [Select]
[RunYum] Starting execution thread for command: libc
[RunYum]   -> Thread 10 started successfully.
[PyDone] Thread for " libc" completed with status 0.
[PyDone] Processing exit logic for "YUM_UPDATE_DEP.PY".
[GetScalingFactor] Using font size 10 (scaling factor 1)
[DLLCheck] Checking 9 DLLs for conflicts
[CheckDllConflict] - LIBCN0.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBCN0.DLL
[CheckDllConflict] - LIBC06.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC06.DLL
[CheckDllConflict] - LIBC061.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC061.DLL
[CheckDllConflict] - LIBC062.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC062.DLL
[CheckDllConflict] - LIBC063.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC063.DLL
[CheckDllConflict] - LIBC064.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC064.DLL
[CheckDllConflict] - LIBC065.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC065.DLL
[CheckDllConflict] - LIBC066.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBC066.DLL
[CheckDllConflict] - LIBCN0.DLL
[CheckDllConflict]   --> G:\USR\LIB\LIBCN0.DLL
[GetScalingFactor] Using font size 10 (scaling factor 1)
... perhaps there is some sort of a scaling logic issue here? I do recall this is one of the changes that Alex rolled out in the last ANPM release.

BTW: nothing in POPUPLOG.OS2 and no TRP files.

Off Topic discussions / Car rides etc, was Re: Qt6 Development
« on: May 06, 2023, 03:41:59 pm »
I know I've been a bit quiet the last couple of weeks, I've needed some time away from Qt6 as it was starting to frustrate me...
I'm sorry Paul...but priorities are priorities, and I'm expecting a new build every two, at worst three days!!! :o ......NOT 

Look, everyone needs some "soul time", so don't short-change yourself on yours. how about that NEW ride of yours? If I may ask, what did you end up getting?

I'm a car guy, meaning, hobby wise I build V8 motors, occasionally drag race, but the intended use is mostly for the street. My current engine build started way back in 2021 and it's been dragging on for a little too long now, although I can see the light at the end of the tunnel now!

Programming / DLL names, and re-direction?
« on: April 22, 2023, 09:38:22 pm »
As Paul has been building the QT stuff he noted the OS/2 DLL name limitations.

This morning I was reading a security paper on Google One VPN and DLL redirection was highlighted as one of the findings (LOW impact).

Anyways, this remark was applicable to the Win binaries, but it did have a link to a MSDN article (, so off I went reading wondering how Gates&Co solved this issue.

So while the redirection issue and the Win functionality to implement such a thing does not solve our problem, that made me think: so why not construct our very own re-direct DLL to help us deal with the existing limitations?

Basically a wrapper DLL.

Would it not be feasible to maintain a system-wide manifest that lists all installed DLLs, and for those that need to be longer than the 8 chars limitation we simply provide a virtual DLL name that the wrapper maps to and passes that onto the standard OS/2 DLL loader?

...or am I misunderstanding the nature of the OS/2 limitiation?

Applications / XWP - Create New => popup sort?
« on: April 15, 2023, 11:45:09 pm »
Hi Everyone!

Can anyone tell me how XWP sorts the objects in the 'Create new => folder' pop-up menu selection?

This functionality allows you to define what types of objects you'd like to have easy access to creating. Simply RMB click anywhere and select from that pop-up menu.

I recently sorted through my Lotus 1-2-3 and AOO entries and added the AOO spreadsheet option (see attached image for 'Spreadsheet - Excel'.

However, for the life of me (and I'm guessing this may be ridiculously simple) I cannot figure out how to arrange the folder objects so that my pop-up menu is better organized.

My goal is to list the two 'Spreadsheet' options at the bottom of that menu.


Hardware / Dell KB900 keyboard - workable?
« on: March 23, 2023, 02:51:49 am »
Hi Everyone,

Dell sent me an email with a discount code...and well, all my keyboards are still wired, so this one seems like a real nice upgrade.

It is a full keyboard and the comms are done through a Wireless RF2.4GHz & Bluetooth 5.1 setups. The RF link is accomplished through 'Secure Link USB Type-A Receive', which is a little plug that connects to your USB port.

My hope is that this literally just becomes a standard USB keyboard...but...that may be wishful thinking only...LOL, so I'm curious of anyone has tried either this specific keyboard, or keyboards like this with a similar connectivity setup?

Here is the link to the Product Support Page =>


BTW: This keyboard will support pairing up with 2 Bluetooth devices as well, which means this is also a nice way to get comfy typing away in front of a larger tablet, or even a laptop.

Programming / WebSite / HTML editor - what do we have?
« on: February 02, 2023, 04:46:28 am » the title asks: what exactly do we have on our platform?

Dave Yeo ported Kompozer sometime back in 2018 I think...but tonight I just tried it and while it starts up it then completely dies. It is Mozilla based, the full set of DLLs comes with it, and well it looks like it's not quite compatible with our FF 45.9x release because I had apparently tried this before and ended up setting up a CMD that uses "SET LIBPATHSTRICT=T".

Is there anything else I can look at?

I have my VSE here, but that's all HTML code and I'd rather be lazy and do some WYSIWYG instead (I've got a couple of very simple index.html pages to build).

Storage / JFS - chkdsk LOG - where?
« on: January 14, 2023, 06:58:33 pm »
Hi Everyone,

Umm...something strange happened to me this morning: I was editting my RSYNC LOG file so I could archive the 2022 stuff and start new for 2023. Needless to say, the file is about 25M in plain vanilla editor just takes a little extra time.

I had done this with the good ol' trusty E.exe before, but I figured I would give AE a try (v1.9.x). Editing went fine, no faster than E.exe, however once edited EA hung trying to save it back to the disk. I waited, and waited, following which I tried to kil EA, no go though. Rolled out the full gamut of kill options, still no go.

Ultimately I selected the Reboot option from CAD-Popup as EA was literally blocking WPS (nothing else worked), but even than hung. So as a final attempt to recover I did CTL-ALT-NUMLCK x2, which put me in the dump screen, and then I reset.

Now, in the past, that desparate attempt to recover has always worked. It also has NEVER caused me a JFS issue, however this reboot the JFS CHKDSK went to work full-time...pile of stuff scrolled by (too fast of course to see any of it) and machine came back up. INIs were corrupted, no problem, I have regular backups, so a couple of reboots later I was back up and running.

However, not liking that longish list of CHKDSK results I went fishing to learn more about it.

As it happens I have the following in my STARTUP.CMD:

Code: [Select]
chklgjfs g: >> g:\tmp\log\chklgjfs-g.log

which is done for ALL the drives.

In my case, this produced the following:

Code: [Select]
chkdsk service log selected:  MOST RECENT

XCHKLOG P superblock is valid.


CHKDSK  processing started: 1/14/2310.56.1

CHKDSK parameter detected:  AutoCheck mode

CHKDSK parameter detected:  IfDirty

CHKDSK  The current hard disk drive is:  g:


CHKDSK  DosDevIOCtl(...DSK_GETDEVICEPARAMS...) returned rc = 0

CHKDSK  Primary superblock is valid.

CHKDSK  The type of file system for the disk is JFS.

CHKDSK  The boot sector has been refreshed.

CHKDSK  Filesystem is clean.

CHKDSK  All observed inconsistencies have been repaired.

CHKDSK  Filesystem has been marked clean.

CHKDSK **** Filesystem was modified. ****

CHKDSK   LVM GetBadBlockInformation returned rc = 22

CHKDSK  processing terminated:  1/14/2310.56.1   with return code: 0.


The problem here is that this doesn't tell me anything about WHAT actually was detected and what JFS did to attempt to correct it.

Sure I attempted to fire up a few of my regular apps like PMMail for example, I came to discover that those directories have missing files, etc.

So clearly there is a JFS problem here, and as opposed to HPFS where the HPFS CHKDSK log viewer would at least clearly show the objects that were impacted, it would appear that JFS has no such functionality.

How can that be though? I must be missing something...

So how are you guys getting visibility into what JFS CHKDSK log has found and/or corrected?

BTW: Nothing in \lost+found directory, so no actual directories or files were recovered...

Web applications / Google Photos - cookie problems anyone?
« on: January 10, 2023, 02:59:57 am »
I don't frequently hit the Google Photos here, but occasionally - usually when I just took some photos of car work I'm doing and need to file-away, or share in a forum - I do. It's always been pretty easy, typically I select what I want, clinck 'Download' and off it arrives here as a ZIP file.

Well, not sure if this is another "nail" in the coffin or purely my client only problem, but as of the other day (could have happened earlier if this is a Google change that's impacting us) I am getting the following error when attempting to hit my photo collection:

Code: [Select]
We've detected a problem with your cookie settings.
Enable cookies

Make sure your cookies are enabled. To enable cookies, follow these browser-specific instructions.
Clear cache and cookies

If you have cookies enabled but are still having trouble, clear your browser's cache and cookies.
Adjust your privacy settings

If clearing your cache and cookies doesn't resolve the problem, try adjusting your browser's privacy settings.
If your settings are on high, manually add to your list of allowed sites. Learn more

I've of course gone through the whole cache/cookies purge...strangely enough following such a purge the site becomes accessible again. However, the minute FF is re-stated I'm back to square-one.

It almost feels like the cookies Google Photos may be using either aren't being saved, or something during FF re-start is wiping them out?

I am using using uBlock and NoScript, but neither one has caused me this problem before. I'm going to test with a clean profile next...

Has anyone encountered this?

I've stuck to the 9.WarpSans font all these years...but the eyes aren't what they used to be anymore...LOL and on my 1920x1200 24" screen things just started to look fuzzier and fuzzier, so a few months back I switched my WPS Desktop font to 10.WarpSans, which was a relief.

Well, back then I also considered switching the font sizing for the Drive/Folder objects as well, but ultimately it felt like even that small 9 => 10 move was robbing me of too much folder "real estate".

So today I was doing some system maintenance, and just for kicks decided to adjust the few folders I was working on (to the 10 pt size), and man, was that a good move! I honestly could fell the eye-strain ease up one might say: the writing is on the wall, font size must go up!!!

Now here is the question: what's the correct way to implement a single change that will cascade to all the Folder objects?

I'm thinking that changing a Drive object View settings might do that, but I haven't even tried this. What complicates things a tad is that vast majority of my Drive/Folder interface is through the XWP's Xview configuration, and it does not appear that the changes to the PARENT folder propagate downward to the CHILD folders.

So I'm curious: is that different when it comes to the DRIVE objects itself?

My next step is to literally try this out, but that potentially being such a system-wide change I figured I'd ask here first.

As always, appreciate any feedback/insights on this!


Web applications / Our FF and Sync, anyone tried it?
« on: November 23, 2022, 04:43:47 pm »
Our FF has been a great browser for some time, but here at least it's finally starting to show it's age and given that some of the key sites I use (banking, etc.) are now problematic I'm looking for alternative solutions.

Until a replacement browser is up and running, and i'm talking as in PRODUCTION ready stuff, I will continue to rely on Win hosted FF that's accessible through RDP.

OK, so that works here just fine, but now I need to figure out how best to sync-up all my information: bookmarks, ID/PASS combos, etc.

So I've done a little reading on the Mozilla FF Sync process, the logic, security implementation, etc. Seems like a viable alternative to manually attempting to keep all this synchronized across multiple devices...however, none of it will mean anything if our OS/2 FF Sync functionality is so badly out of date that it's practially unusable.

Therefore, I'm curious if anyone has tried this? Does it flat-out "work", or are there some glitches?

Next step here will be to set up some test accounts and FF profiles to give this a whirl...but I figured I might as well get a little smarter on what this means for us.


Hardware / Printer - last page of print job missing...ugh?
« on: November 10, 2022, 04:34:20 am »
So this is an entirely new occurrence: the Financial Market Overview/Commentary articles that my bank publishes all of a sudden - when printed by GSView - are always dropping the last in: it does NOT print! Neither does attempting to print just that SINGLE page. Printer's "receiving data" LED flashes, but nothing ever prints.

Printer in question is my Brother HL-5470DW, PostScript, I'm using the current drivers that have been adjusted with a custom PPD (to use all printer functions). Regardless, these articles have been printed numerous times before and never had this issue. Granted, they were the past articles so maybe the Bank changed something which is generating the PDFs themselves, I simply cannot tell.

Other apps seem to print fine, other PDFs, etc...but I find this really weird. I've attached a sample of such a anyone else having a problem printing it?

No printer/GSview/system changes have occurred recently, as far as I know anyways!!!

All ears here...any ideas what to look for/at in order to debug this further?

Pages: [1] 2 3 ... 12