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 - Dave Yeo

Pages: [1] 2 3 ... 344
1
Comments, Suggestions & Questions / Re: Best Email Program on ArcaOS
« on: January 12, 2025, 10:37:24 pm »
The problem with PMMail is that it doesn't handle some of the security connections that these big email providers demand. Perhaps if it now supports the correct TLS, an app password would also work.

The new PMMAIL version from OS/2 VOICE can a setup with stunnel to provide encryption.

Roderick

Both SSL/TLS and StartTLS?
I see for Gmail, I'm using SSL/TLS and normal password so likely to work with stunnel. I'd guess that Outlook is similar.

2
Comments, Suggestions & Questions / Re: Best Email Program on ArcaOS
« on: January 12, 2025, 08:23:51 pm »
The problem with PMMail is that it doesn't handle some of the security connections that these big email providers demand. Perhaps if it now supports the correct TLS, an app password would also work.

3
Comments, Suggestions & Questions / Re: Best Email Program on ArcaOS
« on: January 11, 2025, 06:56:41 pm »
Also, I forgot about https://www.arcanoae.com/resolving-issues-with-gmail-and-oauth-2-0-requirements/
Feedback on extending this wiki for Outlook welcome.

4
Comments, Suggestions & Questions / Re: Best Email Program on ArcaOS
« on: January 11, 2025, 05:32:18 pm »
Hi Craig,
Unluckily Thunderbird (and SeaMonkey which shares the code) is about the best we have for these sites.
The problem is that Oauth2 is broken on our ports, seems to work but fails as you found. The workaround I use for Gmail is to use an app password, https://support.google.com/mail/answer/185833?hl=en, IIRC you need to use your phone to verify things the first time you use it and then it keeps on working.
It seems that Outlook allows the same thing though I have no experience with it. See https://support.microsoft.com/en-us/account-billing/how-to-get-and-use-app-passwords-5896ed9b-4263-e681-128a-a6f2979a7944.
The last time I looked at Yahoo, it used a more regular sign in process. If they have gone to Oauth2, you can probably search for using an app password there too.
Let us know if you get Outlook working on Thunderbird, really we should have a FAQ on this stuff.

5
Thought I'd ask Gemini a similar question. Larger example, includes where the example came from, missing #define INCL_WIN.
Actually, looking at the source, it is old MS Programming library v1.3, 16 bit API?
Code: [Select]
#include <os2.h>

/* Window class structure */
static HAB hab;
static HWND hwndFrame;

/* Window procedure */
MRESULT EXPENTRY ClientWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) {
    switch (msg) {
        case WM_PAINT: {
            HPS hps;
            RECTL rc;

            WinQueryWindowRect(hwnd, &rc);
            hps = WinGetPS(hwnd);
            GpiSetColor(hps, SYSCLR_BLUE);
            GpiFillRect(hps, &rc);
            WinReleasePS(hps);
            break;
        }
        case WM_DESTROY:
            WinPostMsg(hwndFrame, WM_QUIT, 0, 0);
            break;
        default:
            return WinDefWindowProc(hwnd, msg, mp1, mp2);
    }
    return 0;
}

/* Frame window procedure */
MRESULT EXPENTRY FrameWndProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) {
    switch (msg) {
        case WM_COMMAND:
            switch (SHORT1FROMMP(mp1)) {
                case IDM_QUIT:
                    WinPostMsg(hwnd, WM_CLOSE, 0, 0);
                    break;
            }
            break;
        case WM_CLOSE:
            WinDestroyWindow(hwnd);
            break;
        default:
            return WinDefWindowProc(hwnd, msg, mp1, mp2);
    }
    return 0;
}

int main(VOID) {
    HAB hab;
    HMQ hmq;
    HWND hwndFrame, hwndClient;
    QMSG qmsg;

    /* Initialize Presentation Manager */
    hab = WinInitialize(0);
    hmq = WinCreateMsgQueue(hab, 0);

    /* Register window classes */
    WinRegisterClass(hab, "MyClientClass", ClientWndProc, CS_SIZEREDRAW, 0);
    WinRegisterClass(hab, "MyFrameClass", FrameWndProc, CS_SIZEREDRAW, 0);

    /* Create frame window */
    hwndFrame = WinCreateWindow(
        HWND_DESKTOP,
        "My Frame Window",
        "MyFrameClass",
        WS_VISIBLE | WS_BORDER | FCF_TITLEBAR | FCF_SYSMENU | FCF_MINMAX,
        0, 0, 200, 100,
        HWND_DESKTOP,
        HWND_TOP,
        hab,
        NULL,
        NULL
    );

    /* Create client window */
    hwndClient = WinCreateWindow(
        hwndFrame,
        "My Client Window",
        "MyClientClass",
        WS_VISIBLE,
        0, 0, 200, 100,
        hwndFrame,
        HWND_TOP,
        hab,
        NULL,
        NULL
    );

    /* Message loop */
    while (WinGetMsg(hab, &qmsg, NULL, 0, 0)) {
        WinDispatchMsg(hab, &qmsg);
    }

    /* Clean up */
    WinDestroyWindow(hwndFrame);
    WinDestroyMsgQueue(hmq);
    WinTerminate(hab);

    return 0;
}

Explanation:

    Include Header:
        #include <os2.h>: Includes the necessary header file for OS/2 Presentation Manager functions.
    Global Variables:
        hab: An anchor block handle, used to identify the application to Presentation Manager.
        hwndFrame: A handle to the frame window.
    Window Procedures:
        ClientWndProc: Handles messages for the client window.
            WM_PAINT: Fills the client area with blue color.
            WM_DESTROY: Posts a quit message to the frame window.
        FrameWndProc: Handles messages for the frame window.
            WM_COMMAND: Processes menu commands (not implemented in this example).
            WM_CLOSE: Destroys the frame window.
    Main Function:
        Initialization:
            WinInitialize: Initializes Presentation Manager and returns an anchor block handle.
            WinCreateMsgQueue: Creates a message queue for the application.
        Window Registration:
            WinRegisterClass: Registers the window classes for the client and frame windows.
        Window Creation:
            WinCreateWindow: Creates the frame and client windows with the specified attributes.
        Message Loop:
            WinGetMsg: Retrieves messages from the message queue.
            WinDispatchMsg: Dispatches messages to the appropriate window procedures.
        Cleanup:
            WinDestroyWindow: Destroys the frame window.
            WinDestroyMsgQueue: Destroys the message queue.
            WinTerminate: Terminates Presentation Manager.

Note:

    This is a basic example and can be extended to include more features such as menus, controls, and more complex window interactions.
    You'll need to use an OS/2 development environment (such as IBM Visual Age for C++) to compile and run this code.
    This code demonstrates the fundamental concepts of creating and managing windows in the OS/2 Presentation Manager environment.

This example provides a starting point for creating OS/2 Presentation Manager applications. You can further explore the Presentation Manager API to implement more advanced features and create sophisticated graphical user interfaces.

    https://github.com/spacerace/MPL

6
Programming / Re: Qt6 Application Testing
« on: January 07, 2025, 07:45:10 am »
Be worth investing in a 1 or 2 TB USB HD and using rsync regularly to back things up, it's what I do. One caveat if you go that route, partition into a few 500GB partitions to prevent chkdsk running out of memory. I had some millions of files backed up and had to start over as chkdsk just wouldn't finish.
I have my tmp stuff on the ramdisk H:, had to format it JFS as building Mozilla was failing due to S files over 2GB.
I have in my startup.cmd
Code: [Select]
if exist h:\jfs.part goto next
FORMAT.COM H: /FS:JFS <REPLY_Y.txt
sleep 1
touch h:\jfs.part
:next
along with a file, reply_y.txt containing Y The ram disk here is preserved during a warm reboot. Thanks to Doug for the script.

7
Hardware / Re: USBCOM big problem
« on: January 06, 2025, 01:20:16 am »
There seems to be different PL2303 chips. I had a USB/Serial Modem that was actually a Serial modem with a PL2303 chip. At first it didn't work with any of the drivers that were available, then David A. updated his drivers (this was before AracaOS) and it worked. I worked with Lars trying to get his driver package to work and never did succeed.
Whether it would work with the latest from ArcaOS, I have no idea as I no longer have a phone line.

8
Programming / Re: Qt6 Development
« on: January 04, 2025, 05:18:27 am »
All ready built, it is install that fails

9
Programming / Re: Qt6 Development
« on: January 04, 2025, 04:13:56 am »
Anyways, it appeared I was building the wrong versions, though successfully. Now building qt6-base-os2 with branch 6.2.x, "cmake install ." fails with,
Code: [Select]
-- The ASM compiler identification is unknown
-- Found assembler: W:/USR/BIN/cc.exe
-- Warning: Did not find file Compiler/-ASM
-- Could NOT find md4c (missing: md4c_DIR)
-- Could NOT find md4c (missing: md4c_DIR)
 
 

Note: When linking against OpenSSL, you can override the default library names through OPENSSL_LIBS. For example: OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked

-- Could NOT find Qt6OpenGL (missing: Qt6OpenGL_DIR)
CMake Warning at examples/widgets/graphicsview/chip/CMakeLists.txt:21 (find_package):
  Found package configuration file:

    C:/work/qt6-os2/qt6-base-os2/build/lib/cmake/Qt6/Qt6Config.cmake

  but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
  FOUND.  Reason given by package:

  Failed to find Qt component "OpenGL".

  Expected Config file at
  "C:/work/qt6-os2/qt6-base-os2/build/lib/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake"
  does NOT exist

 



-- Could NOT find Qt6OpenGL (missing: Qt6OpenGL_DIR)
CMake Warning at build/lib/cmake/Qt6/Qt6Config.cmake:207 (message):
  Failed to find Qt component "OpenGL".

  Expected Config file at
  "C:/work/qt6-os2/qt6-base-os2/build/lib/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake"
  does NOT exist

Call Stack (most recent call first):
  examples/widgets/painting/shared/use_lib.cmake:10 (find_package)
  examples/widgets/painting/affine/CMakeLists.txt:42 (include)


-- Configuring done
-- Generating done
-- Build files have been written to: C:/work/qt6-os2/qt6-base-os2/build

My configure.cmd,
Code: [Select]
set BEGINLIBPATH=C:\work\qt6-os2\qt6-base-os2\build\lib
dash ../configure -prefix /qt6-6.2.x -release -no-opengl -system-sqlite -openssl-linked -no-pch -- -DQT_BUILD_EXAMPLES=ON -DQT_BUILD_TESTS=OFF 2>&1 | tee configure.log

10
Web applications / Re: Dooble releases, Qt5 builds
« on: January 04, 2025, 12:55:24 am »
In version 2024.11.17. diacritical marks are available.
More precisely, the diacritical marks are visible on the web page but I can't type them in the search engine.
The QT5 libs have been upgraded.

Regards

Does this build work for you, ftp://dry@ftp.os2voice.org/tmp/dooble-2025.01.03-qt5.zip

11
Setup & Installation / Re: OS/2 Multi-Boot on T42p
« on: January 03, 2025, 11:02:48 pm »
Perhaps this one, http://hobbesarchive.com/Home/Download?path=/Hobbes/pub/os2/util/archiver/Info-Zip_Unzip_6-00.exe
Not sure of its dependencies, likely at least libc.
Long term you might want to consider installing ANPM as a package manager and install zip from there.
Start here, https://www.arcanoae.com/wiki/anpm/ you also should have warpin, which I think I posted the link to already.

12
Programming / Re: DISKIO - storage device detection logic
« on: January 03, 2025, 05:45:35 pm »
Well, I notice the drives object has no problem detecting a removable drive, usually USB now a days but previously things like zip disks. No idea how it works.

13
Setup & Installation / Re: OS/2 Multi-Boot on T42p
« on: January 03, 2025, 05:32:09 pm »
Thanks.  This page: https://www.os2world.com/wiki/index.php/Updating_OS/2_Warp_4.52

Lists apars not included in fixpaks.  I can not find these in any of the archives.  Should I have them?

I appreciate your help.  Regardless of updates, I'm looking forward to actually using the OS, not just try to get it working.  I should probably watch some tutorials because the UI is somewhat foreign to me.

Most of those apars don't look too bad. The bugs that were still there include various parts of the OS that aren't SMP safe, the first one that showed up when people started going multi-core was tcpip32.dll being linked to the single thread library instead of the multi-thread library, there is a patched version floating around. The big ones are in how the kernel handles high memory, memory between 1GB and around 3.5GB. For example the kernel didn't deallocate memory if you loaded a DLL into the high memory arena and then removed it so you would have zombie memory holes. Arca Noae has patched the kernel to fix most of these but the license from IBM says they can only distribute kernels with ArcaOS, so no kernel fixes for you.

14
Programming / Re: Qt6 Development
« on: January 03, 2025, 05:18:20 pm »
I cloned the official Qt tree, it is much the same as Bitwise's tree with an init-repository script and an initial configure script to call it. Under Linux it was basically the same to build as building Bitwise's fork.
Paul is right about our git fork, it can be a bitch dealing with large repositories as well, the one in netlabs-rel I think it is that didn't handle the sub-repositories very well. Should be able to do things like switch branches and all sub-repositories switch. I had to do each sub-repository individually.

15
Programming / Re: Qt6 Development
« on: January 03, 2025, 08:01:26 am »
What is this mythical qt6-os2? qt6-base-os2 contains the core modules, gui, networking, etc.

..ummm... isn't that what https://github.com/bitwiseworks/qt5-os2/ is? I.e. a master repo with the individual modules as sub-repos. Look at https://github.com/bitwiseworks/qt5-os2/blob/master/init-repository-os2.sh which runs the main 'init-repository' script.

That was what I assumed. Obviously a wrong assumption.

Pages: [1] 2 3 ... 344