From bd90e29e7a942dd75b140376c16cd0d9df750a4a Mon Sep 17 00:00:00 2001 From: Rick Peters Date: Thu, 24 Sep 2026 13:28:14 +0200 Subject: [PATCH] feat: Left/Right arrows choose on the "Boot into" row MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Left = gamescope, right = desktop (Space still switches); the row says ←/→ choose and the key help lists Left/Right. --- CHANGELOG.md | 5 ++++- README.md | 3 ++- lib/menu.sh | 11 ++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4972c0..8aa96d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,11 @@ one per merged pull request. it. Choosing desktop turns the conversion on; turning the conversion off resets it to gamescope. - The later menu items move down one (BIOS is now 8 on a Steam Machine). -- **feat: "Boot into" is a sub-option of the conversion** +- `4895de3` **feat: "Boot into" is a sub-option of the conversion** - Shown indented under the SteamOS conversion, and only while it's ticked. +- **feat: Left/Right arrows choose on the "Boot into" row** + - Left = gamescope, right = desktop (Space still switches); the row says + "←/→ choose" and the key help lists Left/Right. ## 0.9.1 - 2026-09-24 (#10) diff --git a/README.md b/README.md index 6e2587b..3e15de8 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,8 @@ Run it as yourself, not as root. You'll see a checklist: Up/Down move Space select Enter run a run + re-apply what's on q quit ``` -Move with the **arrow keys**, tick or untick with **Space**, and press +Move with the **arrow keys**, tick or untick with **Space** (on the **Boot +into** row, **Left/Right** choose gamescope or desktop), and press **Enter** to run. "now:" shows what's on at the moment. Below the list, every installed kernel is shown with its headers and Steam controller driver; on a Steam Machine also whether the LED bar driver is built for it, and whether diff --git a/lib/menu.sh b/lib/menu.sh index e053724..4f8e643 100644 --- a/lib/menu.sh +++ b/lib/menu.sh @@ -140,8 +140,9 @@ draw_menu_tui() { # Indented under the conversion, whose sub-option it is. line="$(boot_choice "${WANTED[boot]}")" line=" └ ${line/\[/[${c_green}}"; line="${line/\]/${c_reset}]}" - state=" (now: gamescope)"; [[ "${CURRENT[boot]}" == 1 ]] && state=" (now: desktop)" - [[ "${CURRENT[gaming]}" == 1 ]] || state="" + local mode=gamescope; [[ "${CURRENT[boot]}" == 1 ]] && mode=desktop + state=" (${c_bold}←/→${c_reset} choose)" + [[ "${CURRENT[gaming]}" == 1 ]] && state=" (now: $mode; ${c_bold}←/→${c_reset} choose)" fi if ! component_selectable "$c"; then # Greyed out: nothing to do (e.g. BIOS already up to date). @@ -158,7 +159,8 @@ draw_menu_tui() { echo echo -e "$KERNEL_OVERVIEW" echo - echo -e " ${c_bold}Up/Down${c_reset} move ${c_bold}Space${c_reset} select ${c_bold}Enter${c_reset} run ${c_bold}a${c_reset} run + re-apply what's on ${c_bold}q${c_reset} quit" + echo -e " ${c_bold}Up/Down${c_reset} move ${c_bold}Space${c_reset} select ${c_bold}Left/Right${c_reset} choose ${c_bold}Enter${c_reset} run" + echo -e " ${c_bold}a${c_reset} run + re-apply what's on ${c_bold}q${c_reset} quit" } run_menu_tui() { @@ -179,6 +181,9 @@ run_menu_tui() { $'\e[A'|k) (( cursor = (cursor + count - 1) % count )) ;; $'\e[B'|j) (( cursor = (cursor + 1) % count )) ;; " ") toggle_component "${MENU_ITEMS[$cursor]}" ;; + # On the "Boot into" row: left = gamescope, right = desktop. + $'\e[D'|h) [[ "${MENU_ITEMS[$cursor]}" == boot && "${WANTED[boot]}" == 1 ]] && toggle_component boot ;; + $'\e[C'|l) [[ "${MENU_ITEMS[$cursor]}" == boot && "${WANTED[boot]}" == 0 ]] && toggle_component boot ;; "") break ;; a|A) REAPPLY=true; break ;; q|Q) tput cnorm 2>/dev/null; echo; return 1 ;;