Files
RedBear-OS/local/docs
vasilito e2570104a5 redbear-power: v1.30 Process-tab cursor navigation
Activates the v1.29-deferred cursor-navigation future-use. The
Process tab is now fully interactive: j/k and arrow keys move
the cursor, PageUp/PageDown scroll by 8 rows, the visible row
is bolded as the cursor, Enter and Space operate on the
cursor's PID.

- move_selection is now tab-aware:
    PerCpu -> move_cpu_selection (old behavior)
    Process -> move_process_selection (new)
    other -> no-op
- move_process_selection clamps process_cursor to
  [0, visible.len()-1] (saturating_add for big deltas)
- page_selection is also tab-aware (8 rows per page for Process)
- j/k hotkeys (vim-style) call move_selection
- visible_processes() helper extracted (deduplicates the
  filter+collect logic that move_process_selection and
  selected_pid both needed)
- selected_pid() now uses process_cursor directly (was using
  table_state.selected() which was the Per-CPU widget's
  selection — wrong tab indirection)
- theme::CURSOR: bold style for the cursor row (no background
  color; background flickers on rapid style changes on some
  terminals; bold is stable)
- Render layer applies theme::CURSOR when current_tab==Process
  AND the visible_index matches process_cursor AND focused

Test count 111 -> 117 (+6 in new app::tests mod):
- move_process_selection_down_clamps_to_last
- move_process_selection_up_clamps_to_zero
- move_process_selection_empty_list_is_noop
- move_process_selection_respects_filter
- selected_pid_returns_none_when_empty
- selected_pid_returns_none_when_filter_excludes

make_app_with_processes(n) helper clears App::new()'s /proc
read first so the test fixtures don't mix with real procs.

Redox stripped binary: 4,197,224 bytes (+16 KiB from v1.29).
Compile warnings: 55 (unchanged).

Docs: local/docs/redbear-power-improvement-plan.md \xC2\xA754
2026-06-21 07:02:11 +03:00
..