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 ... 345
1
Hi Sigurd, pretty neat. How fast does it feel? Have you done anything CPU intensive? Be nice to benchmark with Sysbench or such. Emulation is usually much slower then virtualization.
Reading that Parallels on the Arm Macs can now also do emulation and run X86 Windows and it is slow. Previously it only virtualized so only ran Arm Windows. Luckily OS/2 never was that CPU intensive, it ran satisfactorily on a 386/33
To be clear, emulation means emulating the whole CPU and hardware while Virtualization means running most of the code on the host CPU and emulating the hardware. Simple example of virtualization, the OS/2 VDM.

2
Web applications / Re: Dooble releases, Qt5 builds
« on: Today at 01:29:39 am »
Here's the patches. Note the Dooble patch was on top of Rich's previous fix, easy to see how it applies.
Also the otter-browser in the ftp's tmp directory has the same fix. The next drop of Qt6 that Paul does will have the same fix and that will enable the Qt6 version of Dooble that is in tmp to do the same.
Be good to have updated Qt5 qtbase RPM updated

3
Web applications / Re: Dooble releases, Qt5 builds
« on: January 17, 2025, 07:45:25 am »
Hi cbx, welcome.
Problem is that the Qt5 build of Dooble is based on an old Chromium, the Qt6 build is slightly newer but still old.
I uploaded the translations to ftp://dry@ftp.os2voice.org/dooble/Dooble_Translations.zip password an email address.

4
Programming / Re: Qt6 Application Testing
« on: January 16, 2025, 08:54:19 pm »
You can try setting LIBC_THREAD_MIN_STACK_SIZE to a larger size then the default of 4096 bytes. Perhaps as high as 65636, though 32768 or 16384 might be enough.

5
Easiest to get the highmem.exe and smturbo.exe from your ArcaOS install. X:\sys\apps\anturbo\smturbo.exe and x:\usr\bin\highmem.exe. Put highmem.exe on your path and smturbo.exe in your SM directory.
With SM closed, run highmem -c \path\to\seamonkey\*dll and then put smturbo.exe in your startup folder. You can run it too after the highmem command.
This will load the SM dlls into highmem and keep them there even after closing SM. This is important to work around kernel bugs in the 4.52 kernel.
And yes, ArcaOS has smturbo install (and after installing uninstall) in the SeaMonkey desktop folder. You do have to run it yourself and possibly you did.

6
Memory issue? Are you marking the DLL's to load high? Are you using smturbo? And of course, have you tried a different profile

7
Programming / Re: Qt6 Application Testing
« on: January 16, 2025, 01:19:49 am »
Is there anything in popuplog.os2? I wonder if a larger stack would help for the quick controls and maybe other stuff. IIRC, the default is 1MB, which you'd think would be fine but any recursion like what was likely happening to git will blow through a MB.

8
Web applications / Re: Dooble releases, Qt5 builds
« on: January 14, 2025, 04:49:26 pm »
Hi Dave,

with the latest version German Umlaute ä,ö,ü,ß are now working again.

Greetings,
Mike

Good to hear. Rich redid his previous patch.

Quote
P.S. I guess that the zip file name for the dooble.exe shall have 2025 instead of 2024 in the name  ;). Am I wrong?

Yes, muscle memory made me write 2024 instead of 2025. I see I did it multiple times too.

10
Applications / Re: Wiping a hard disk back to 'as bought' condition
« on: January 13, 2025, 08:12:33 pm »
DFSee has an option to wipe the beginning of the drive. Assuming you are doing MBR booting, this will basically blank the drive as far as partitioning tools are concerned.
Mode=FDISK-->Wipe Start of Disk to Zero, then pick your drive

11
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.

12
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.

13
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.

14
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.

15
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

Pages: [1] 2 3 ... 345