This is awesome to see on haiku! Any chance of trying gnumeric? I use this pair a lot on Linux…
It’s cool that we now have Abiword,I use that a lot on BSD.
There was a native port years ago.
It’s sad that they removed it and went GTK-only.
GTK is so ugly.
A few apps, that I just long to see get ported:
- Evolution with Exchange support
- Gnome Maps
Crossing my fingers for them to get ported and published in Haikuports the following weeks.
Awesome work Gerasim!
is it just a matter of skin or could be made a wrapper that translates the gtk interface into the haiku interface? … if it weren’t too complicated it would be wonderful
Currently the biggest annoyance is the skin because it’s so awful GNOMish and doesn’t integrate with the Haiku UI at all.
But even if that’s fixed,I still prefer native Haiku BeAPI applications and it’s sad to see that Abiword dropped support for it,because it existed years ago (made for the original BeOS I think)
Fantastic effort 3dEyes, GIMP is “the” GTK showcase. Bringing it to Haiku shows how mature the Xlibe port is. Amazing progress in such a short time.
At the moment, the main problem in porting GIMP is its method of working with plugins. GIMP uses a shared address space by running binary plugins via vfork(). And it seems that vfork does not work in Haiku, or does not work correctly.
If you remove all plugins, GIMP runs fine (like on screenshots above).
the plugins realy needed? can we make some own in the future?
Access to the formats is also in the plugins. You can not work with jpg, png, etc. without plugins.
Medo uses dynamic loaded BeApi AddOns (https://github.com/smallstepforman/Medo/blob/main/Editor/EffectsManager.cpp ), which share the same address space as the main app. Same concept.
vfork just falls back to be regular “fork”, indeed.
Windows has nothing like
vfork, though, so GIMP must have some plugin-loading method that isn’t vfork. Can we enable that instead?
If there is no vfork, then g_spawn_async function from glib2 is used. But this doesn’t work either.
At the moment I do not know how to solve this problem, so I will publish a recipe and patches and go back to Qt’s OpenGL support for now. Maybe someone will continue this work.
FIXED: I replaced g_spawn_async with posix_spawn and the plugins worked now!
The didn’t drop it. It was not made by the Abiword team, someone ported it to BeOS on their own. The code was quite a mess and had a lot of problems. Eventually the person who was doing it stopped maintaining it. And Abiword didn’t want to upstream that code without a maintainer to take care of it, which makes sense.
The code is still available at https://github.com/haikuarchives/abiword . I made some fixes on it back in 2014, but it isn’t the latest version of Abiword and it is also really unstable due to problems with threading (this port completely ignore the fact that there are separate threads for the window and application, and accesses things from both without any locking. I suspect it ran kind of OK on single CPU machines back then?)