[xiphos-source] [crosswire/xiphos] 943842: Render whole Bible books rather than just 1 chapte...

karl kleinpaste noreply at github.com
Thu Jul 23 16:01:10 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/crosswire/xiphos
  Commit: 943842c4f9accaea94d906bbd0a75571451d90a0
      https://github.com/crosswire/xiphos/commit/943842c4f9accaea94d906bbd0a75571451d90a0
  Author: karl kleinpaste <karlkleinpaste at users.noreply.github.com>
  Date:   2026-07-23 (Thu, 23 Jul 2026)

  Changed paths:
    M src/backend/module_manager.cc
    M src/backend/sword_main.cc
    M src/gtk/bookmark_dialog.c
    M src/gtk/mod_mgr.c
    M src/gtk/preferences_dialog.c
    M src/gui/preferences_dialog.h
    M src/main/display.cc
    M src/main/display.hh
    M src/main/main.c
    M src/main/settings.c
    M src/main/settings.h
    M src/main/xml.c
    M ui/prefs.glade
    M ui/prefs.gtkbuilder

  Log Message:
  -----------
  Render whole Bible books rather than just 1 chapter -- fix #612 (#1350)

fix #612

Now optional to display whole Bible books rather than just 1 chapter.
See Preferences -> Options -> Display whole Bible books.
Default remains single chapter.  This is for main window only; all
other displays (commentary, detached windows) remain single chapter.

This is a heavy re-work of display code.  Much refactoring, separating
necessary display start/end code from rendering single chapter vs loop
over all chapters.  Generalized the annotation cache to entire book rather
than single chapter.  Encodes internal markers not as just verses, but
"(chapter * 1000) + verse" for focus sanity.

Along the way, fixed a couple bona fide but hidden bugs leading to bogus
highlight.  Notably, paragraph endings within highlight were previously
damaged, now fixed with another detected case of mis-ended paragraphs.
("<p/><b>"?!? seriously?)

Highlight is confined to actual verse text, not to verse numbers or *u.

Dodgy, complex, unreliable use of ?: to select main/fg/bg colors has been
replaced by something more sane.

Whole book rendering is not nearly as cumbersome as one might have feared.
Psalms renders the first time in <70ms, which is the longest while it
fills the module cache on first encounter.  Thereafter, 10ms.  Any
perceived delay is actually inherent to the WebKit renderer.  Some of that
delay can be substantial, notably when enabling strongs/morph/lemmas,
where blocked display makes for a much more complex problem within WebKit.

Consequent to timing tests, discovered that several existing timers were
not being properly destroyed; now handled.



To unsubscribe from these emails, change your notification settings at https://github.com/crosswire/xiphos/settings/notifications


More information about the xiphos-source mailing list