[xiphos-devel] webkitgtk, gtkhtml, and GTK2 dependencies

Karl Kleinpaste karl at kleinpaste.org
Mon Jun 17 17:38:34 EDT 2024


On 6/7/24 12:32, Scott Buchanan wrote:
> Even setting aside the monumental task of actual implementing whatever 
> change is needed, first a consensus needs to be reached which approach 
> we take. In my opinion, the best option would be to use a stripped 
> down, not even necessarily HTML-based, renderer in place of both 
> webkitgtk and gtkhtml which is cross platform and well supported. Feel 
> free to challenge me if that seems like a bad idea.

I wanted to let this sit and stew a few days, in hopes that some other 
folks might have something to say about it. OK, well, perhaps not.

Up to this point, differences between the Windows' build's restriction 
to GTK2¹ (with older webkit) have been handled entirely by #ifdef'ing to 
distinguish the variances between older and newer forms.

I suppose my initial wondering is how this is not sufficient going 
forward in a world where the modern toolkit is webkit2gtk-4.1 (as seen 
in recent commits to cmake/XiphosDependencies.cmake) versus where we 
remain for Windows.

Aside from that, I have to wonder what alternative renderer might be 
possible. Bear in mind that there have been 5 display engines in Xiphos 
over the years (gtkhtml, seamonkey, gtkmozembed, xulrunner, webkit) and 
every time it has changed it has represented an awful effort that I have 
referred to as "treadmill work" because the result hasn't actually gone 
anywhere but it's work that has been needed in order to move the base 
for display forward as older toolkits fell out of favor.

I have no idea what other toolkits would be available if we wanted to do 
this yet again. I will say that moving away from an HTML renderer would 
be an especially difficult choice because HTMLisms are deeply, deeply 
embedded in the code. Aside from general display, the fact that the 
editor remains as libgtkhtml is a source of pain -- we know that it is 
deeply outdated and in need of being replaced.

Opinion or further information is most welcome.

The other Windows-specific matter needing thought is that the version of 
Sword used for Xiphos is a Xiphos-specific hacked version employing glib 
as a means of insulating Xiphos' code from (notably) NTFS peculiarities. 
This became a necessity long ago, right after first Windows 3.0 release 
because of the need to handle (again, notably) accented characters in 
such fundamental places as users' login names. Sword itself is built and 
attached to the overall Windows build and the patch needed to support 
this almost certainly needs to be updated to handled today's Sword. Greg 
used to handle this but it has sat dormant a long time.

--karl

--
¹ For anyone who isn't aware, the Windows build is effectively stuck 
with GTK2 and older WebKit 1.0 because there were never produced 
functional builds of more recent versions of these libraries, and thus 
that's where the Windows side sits. It means a slightly different and 
slightly less featureful display, especially in multi-column display, 
where more recent WK balances vertically but in Windows it fills 
vertically leaving a fractional last column.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://crosswire.org/pipermail/xiphos-devel/attachments/20240617/08e4fe7e/attachment.htm>


More information about the xiphos-devel mailing list