Files
RedBear-OS/local/recipes/system/redbear-netctl-console
vasilito cb424d7448 build: static patch-sanity linter (shift-left the malformed-patch class)
verify-patch-sanity.py validates every active recipe .patch has internally-
consistent hunk line counts — catching the 'malformed patch at line N' failure
at commit/CI/preflight time instead of hours into a cook. This cycle hit that
class three times (qtwaylandscanner, sddm, xwayland), each only discovered when
cookbook tried to apply the patch.

Running it across the repo found 29 latent malformed patches (validated against
GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22').
They were harmless only because they sit in vendored recipes (baked, not re-
applied) — but would fail on any version-bump re-derivation. --fix recounts the
hunk headers (body untouched) and repaired all 29.

Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test
(test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats
(empty placeholders, bare-@@ git hunks).
2026-08-01 05:13:02 +03:00
..

redbear-netctl-console

Network control console UI — ncurses-based TUI for redbear-netctl

Status: FEATURE-INCOMPLETE Category: system Build: cargo build --release --manifest-path source/Cargo.toml

Purpose

redbear-netctl-console provides an interactive terminal UI for managing network profiles and connections. It is the visual frontend to redbear-netctl, displaying profile lists, connection status, and Wi-Fi scan results in a keyboard-navigable ncurses interface.

The binary installs as both redbear-netctl-console and netctl-console.

CLI Usage

redbear-netctl-console              # Launch interactive TUI
netctl-console                      # Same (alias)
redbear-netctl-console --help       # Help text

Keyboard Controls

  • Arrow keys / j/k: Navigate profile list
  • Tab: Switch focus between panels
  • Enter: Activate selected profile
  • q: Quit

Architecture

  • 5 source files: main.rs (274 lines), app.rs, backend.rs, lib.rs, ui.rs
  • Library crate: redbear_netctl_console exposes App, Focus, and FsBackend for testing
  • Dependencies: ratatui 0.30 (with termion backend), termion 4, ncursesw (native link)
  • Backend: FsBackend reads profile data from /scheme/netcfg/ filesystem surface; designed for testability with swappable backends
  • Recipe: Uses cookbook_cargo build template with dependencies = ["ncursesw"]

Consumers

  • redbear-netctl — dev-dependency (uses redbear-netctl-console library for integration testing)
  • Standalone TUI — end-user interactive tool

Status Notes

  • Profile list display and navigation — implemented
  • Keyboard-driven UI with ratatui rendering — implemented
  • ncurses dependency requires the host to have ncursesw development libraries installed
  • The TUI is bounded in scope: profile viewing and basic status, not a full network manager wizard
  • FsBackend reads from the real filesystem surface; future work could add a scheme-based live backend