Replies: 6 comments 4 replies
-
| There is also the microwindows/nanox project This project can partialy emulate the X11 (xlib) API (Nano-X) and This can help as hints, how to construct the glue code in OW. Microwindows/Nano-X has even a DOS port (with DJGPP) 🙂 |
Beta Was this translation helpful? Give feedback.
-
| First, your approach is useless.
Of cause it always requires to port X11 to OW. Some of your statement are wrong, by example OW support POSIX threads on Linux and it is possible to implement it on another OS-es. You simple criteria that somethin compile and something doesn't compile with OW is useless it is rather information how such software is portable. I don't like similar project for project, first you need resources and second knowledge. If you have it then you can start such project but without such resource it is only paper work nothing more. If you want to improve OW try to start on much simple project as enhancement of C run-time library to implement more POSIX functionality or you can implement changes for IP V6 etc. I think it is much usefull for OW users than get GUI on Linux with OW. |
Beta Was this translation helpful? Give feedback.
-
| Open Watcom used to be able to compile wxWidgets, although there might have been restrictions. I did it personally, but it was long ago, and I don't recall the details. It would not surprise me if wxWidgets now requires a more modern flavor of C++ than Open Watcom can handle. In general, I agree with Jiri's point: instead of trying to shoehorn some existing library into what Open Watcom can currently handle, why not improve the scope of Open Watcom's abilities? For example, what is it about wxWidgets that prevents Open Watcom from compiling it now? Perhaps we should address those deficiencies. It seems like that would give us more benefits in the long term. |
Beta Was this translation helpful? Give feedback.
-
| about libX11: OW can build most parts of libX11 but the resulting "libX11.a" is >825k. about libxcb: about libX11 or libxcb glue code in about After the UI part and the game logic of "Mines" works correctly now, |
Beta Was this translation helpful? Give feedback.
-
| My two cents: The internal OW GUI API is not general at all, and has little/no documentation. It gives a very minimal/primitive level of GUI portability in Windows and OS/2 (because they are similar), limited to (less than) exactly what the OW GUI tools needs. I find the goals in this thread very commendable, but fear that an X11 based "solution" will result in less than hoped for, especially for the long term. It could end with something working, but it will be "ugly" and hard to maintain no matter what. X11 is (like it or not) being shunned by the big players, Wayland is their preference for the future. The base challenge is that OW does not use Linux (gcc produced) shared runtime libraries. So no matter how a bridge is made (sockets based bridge is a possibility), it could still lead to problems for libraries making assumptions in API of shared file handles from the same C runtime as an example. Any bridging effort should take such dependencies into account before starting. The full GTK API may have such assumptions baked in (may be wrong, based on my bug prone memory). I have looked at a LOT of possibilities, both with OW tools and OW user API usage potential in mind. One (maybe not so obvious) way is to go all text based UI, based off a combination of something like PDCursesMod + something like Turbo Vision 2.0 or a better menu / windowing alternative based on C rather than C++. Another is to focus a bridge construction for a C based GUI API that already covers most platforms OW cares about, but is designed to not depend on a common C runtime or C++ based API. The (to my estimations) best and most future proof is to base any effort on a library with a C based API, with premade support for what is needed for the OW GUI tools, and potentially useful to other OW users, find a way to bridge the OW compiler to it on Linux/unix, and port the OW GUI tools to support it. The most likely candidate I have found for such an effort is IUP. It supported the Watcom compiler in earlier versions. It currently supports GTK and WIN32, but used to support Motif too. It has unmaintained/unfinished implementations for other platforms (quite similar to OW in that regard ;-) ). It is MIT licensed, and team seems to be welcoming outside interest. |
Beta Was this translation helpful? Give feedback.
-
| I think that some low level interface to X11 or similar low-level API should be enough, because GUI API is based on events and it needs to implement handling of following GUI Events Probably some of these events has trivial solution. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
An idea from the old mailing list was to use GTK, but this will not work:
which are not implemented in OW (atomics, threads, ...)
Even using other lightweight GUI toolkits (FLTK, wxWidgets)
will fail for the same reasons (both are C++)
*a) Lowest level would be using sockets.
The Internet has some sourcecode,
but building every requests manually and parsing the answers
is a lot of work.
*b) A level below the fancy GUI toolkits: Using X11 directly
Using xlib.h (with -lX11) has lots of tutorials and examples,
but i do not expect, that OW can compile X11 in the near future.
*c) Next lower level: xcb.
I was able to compile a static
libxcb.a(1.16) with OpenWatcombut i didn't tested the xcb tutorial examples yet.
(I was using my system X11 headers with the system xcb-macro package,
but the source still needed a workaround for AF_INET6 )
My idea is, that
libxcb(License: MIT) can be imported tocontrib,but where to put the glue code?
bld/gui/xcbbld/wpi/@jmalak What do you think about this idea?
I know, that newer Linux distros use wayland.
Wayland can look like an X11 server for non ported X11 programs,
but i didn't checked yet, if this layer works for
xcbor only forX11.And for wayland, the program has to render the whole page,
while X11 (and xcb) supports multiple windows,
graphics primitives (line, circle, poly...)
and also font/text related features.
Beta Was this translation helpful? Give feedback.
All reactions