• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jzombie / term-wm / 28882173509
75%

Build:
DEFAULT BRANCH: main
Ran 07 Jul 2026 04:34PM UTC
Jobs 1
Files 82
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Jul 2026 04:29PM UTC coverage: 70.435% (+0.9%) from 69.515%
28882173509

push

github

web-flow
feat: AppBuilder, TermWmApp, scroll improvements, and component trait overhaul (#85)

* feat: AppBuilder, TermWmApp, scroll improvements, and component trait
overhaul

Replace WmBuilder with AppBuilder: bare() constructor, component
injection
via .top_panel() / .bottom_panel() / .command_menu(), and ConfigError
type for build failures. Add TermWmApp — a self-contained app
abstraction
that eliminates dual-trait boilerplate for standalone usage.

Add WidgetAdapter and StatefulWidgetAdapter for closure-based and
stateful
renderers, enabling quick prototyping without implementing Component.

Add on_mount lifecycle hook for post-registration initialization.
Replace
the MenuOverlay trait with a ComponentAction / ComponentQuery /
ComponentResponse protocol that decouples the engine from overlay
implementations. Add TopPanelState for render-time state pushed to the
top panel before each frame.

Introduce ScrollKeyMode enum (None / PaginationOnly / Full) replacing
the
binary keyboard_enabled flag. Terminal shells use PaginationOnly to
intercept PageUp/PageDown for viewport scrolling while preserving
Up/Down
for shell history. Help and keybinding overlays use Full.

Add sticky_bottom to ScrollBounds: when content grows and the user was
at
the bottom, the viewport automatically snaps to the new bottom. Removes
legacy follow_tail / last_total / last_view tracking from debug log.

Rewrite ScrollViewComponent::on_key to use KeyBindings::matches() for
modifier-safe evaluation. Add direct_mode() guard for passthrough mode.

ViewportSharedState → ScrollBounds
ViewportHandle → ScrollHandle
ViewportContext → ScrollViewport

Merge WindowProvider into WindowManagerHost. Rename windows() to wm().
Extract command menu handling into command_menu.rs.

Performance improvements to PTY I/O handling.

* Add more tests

832 of 1909 new or added lines in 32 files covered. (43.58%)

65 existing lines in 14 files now uncovered.

16205 of 23007 relevant lines covered (70.44%)

169.52 hits per line

Uncovered Changes

Lines Coverage ∆ File
278
71.19
-3.66% crates/term-wm-core/src/window/window_manager/mod.rs
125
22.75
-0.32% crates/term-wm-sys-ui-components/src/wm_top_panel.rs
107
45.18
2.28% crates/term-wm-core/src/runner.rs
102
0.0
src/term_wm_app.rs
84
0.0
0.0% src/main.rs
74
79.8
-12.36% crates/term-wm-sys-ui-components/src/wm_menu_overlay.rs
67
4.29
crates/term-wm-core/src/window/window_manager/command_menu.rs
42
0.0
src/widget_adapter.rs
38
59.14
-2.56% crates/term-wm-core/src/window/window_manager/layout.rs
38
49.4
-2.5% crates/term-wm-sys-ui-components/src/wm_bottom_panel.rs
23
39.44
-0.9% crates/term-wm-core/src/components/mod.rs
21
2.44
2.44% crates/term-wm-pty-engine/src/pane.rs
19
45.68
45.68% crates/term-wm-core/src/config.rs
17
77.72
-0.48% crates/term-wm-pty-engine/src/pty.rs
9
78.28
-0.75% crates/term-wm-ui-components/src/terminal.rs
7
88.25
4.7% crates/term-wm-ui-components/src/scroll_view.rs
7
0.0
0.0% src/tracing_sub.rs
6
53.62
-0.79% crates/term-wm-core/src/window/window_manager/focus.rs
3
66.52
1.36% crates/term-wm-core/src/component_context.rs
3
66.67
3.85% crates/term-wm-core/src/wm_config.rs
2
68.08
0.0% crates/term-wm-sys-ui-components/src/wm_help_overlay.rs
2
75.89
0.0% crates/term-wm-ui-components/src/text_renderer.rs
1
56.12
36.53% crates/term-wm-core/src/actions.rs
1
72.51
1.75% crates/term-wm-core/src/keybindings.rs
1
56.73
0.0% crates/term-wm-ui-components/src/list.rs

Coverage Regressions

Lines Coverage ∆ File
11
22.75
-0.32% crates/term-wm-sys-ui-components/src/wm_top_panel.rs
8
45.18
2.28% crates/term-wm-core/src/runner.rs
7
49.4
-2.5% crates/term-wm-sys-ui-components/src/wm_bottom_panel.rs
7
78.28
-0.75% crates/term-wm-ui-components/src/terminal.rs
6
86.88
-2.71% crates/term-wm-core/src/reaper.rs
6
79.8
-12.36% crates/term-wm-sys-ui-components/src/wm_menu_overlay.rs
6
0.0
0.0% src/main.rs
5
59.14
-2.56% crates/term-wm-core/src/window/window_manager/layout.rs
2
71.19
-3.66% crates/term-wm-core/src/window/window_manager/mod.rs
2
86.69
-0.71% crates/term-wm-sys-ui-components/src/wm_debug_log.rs
2
0.0
0.0% src/tracing_sub.rs
1
2.44
2.44% crates/term-wm-pty-engine/src/pane.rs
1
77.72
-0.48% crates/term-wm-pty-engine/src/pty.rs
1
68.08
0.0% crates/term-wm-sys-ui-components/src/wm_help_overlay.rs
Jobs
ID Job ID Ran Files Coverage
1 28882173509.1 07 Jul 2026 04:34PM UTC 82
70.44
GitHub Action Run
Source Files on build 28882173509
  • Tree
  • List 82
  • Changed 32
  • Source Changed 31
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28882173509
  • b394cd92 on github
  • Prev Build on main (#28876918636)
  • Next Build on main (#28972063561)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc