mirror of
https://github.com/theupriser/steamify-cachyos.git
synced 2026-10-03 17:41:58 +02:00
feat: Restart question on quit is "Restart now? [Y/n]"
When a restart is needed, q asks with yes as the default; n goes back to the menu and the next q asks again. Ctrl+C quits without restarting; scripted input that runs out never restarts.
This commit is contained in:
1 parent
176f27b44f
commit
cda7dbe49f
4 files changed
+39
-20
No files matched your search
@@ -147,8 +147,10 @@ gamescope and the Plasma desktop. Primary target: the Valve Steam Machine
|
|||||||
device check, never flashes) and a faked version (dev-env
|
device check, never flashes) and a faked version (dev-env
|
||||||
`BIOS_VERSION=F7F0107 ./run.sh --fremont`).
|
`BIOS_VERSION=F7F0107 ./run.sh --fremont`).
|
||||||
- The entry point loops: menu, run, "back to the menu" (or `[m]`/`[r]` when a
|
- The entry point loops: menu, run, "back to the menu" (or `[m]`/`[r]` when a
|
||||||
restart is needed), until `q`; the restart question is asked once at the
|
restart is needed), until `q`. When a restart is needed, `q` asks "Restart
|
||||||
end. Scripted input that runs out ends the loop like `q`.
|
now? [Y/n]" (`quit_prompt`): `n` goes back to the menu, the next `q` asks
|
||||||
|
again. Scripted input that runs out quits without restarting (never
|
||||||
|
restart on EOF: `ask_yn` would take its default).
|
||||||
- Steamify shortcut (`launcher`): the icon runs `curl | bash` of
|
- Steamify shortcut (`launcher`): the icon runs `curl | bash` of
|
||||||
`releases/latest/download/steamify.sh` in Konsole, so it's
|
`releases/latest/download/steamify.sh` in Konsole, so it's
|
||||||
always the newest release. Its icon, `assets/steam-gaming-settings.svg`
|
always the newest release. Its icon, `assets/steam-gaming-settings.svg`
|
||||||
|
|||||||
+5
-1
@@ -7,11 +7,15 @@ one per merged pull request.
|
|||||||
|
|
||||||
## 0.9.1 - 2026-09-24
|
## 0.9.1 - 2026-09-24
|
||||||
|
|
||||||
- **fix: LED driver for every kernel on a fresh install**
|
- `2e107e5` **fix: LED driver for every kernel on a fresh install**
|
||||||
- The DKMS override was written to `/etc/dkms` before `dkms` was installed,
|
- The DKMS override was written to `/etc/dkms` before `dkms` was installed,
|
||||||
when that folder doesn't exist yet, so it silently failed and the build
|
when that folder doesn't exist yet, so it silently failed and the build
|
||||||
for other kernels (e.g. LTS) failed as in 0.6. The folder is created first
|
for other kernels (e.g. LTS) failed as in 0.6. The folder is created first
|
||||||
now, and a failed write stops with an error.
|
now, and a failed write stops with an error.
|
||||||
|
- **feat: Restart question on quit is "Restart now? [Y/n]"**
|
||||||
|
- When something needs a restart, `q` asks with yes as the default; `n` goes
|
||||||
|
back to the menu and the next `q` asks again. Ctrl+C quits without
|
||||||
|
restarting; scripted input that runs out never restarts.
|
||||||
|
|
||||||
## 0.9.0 - 2026-09-24 (#9)
|
## 0.9.0 - 2026-09-24 (#9)
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,9 @@ to restart (needed for changes to how the PC starts).
|
|||||||
|
|
||||||
After each run the menu comes back with the new state, so you can change more
|
After each run the menu comes back with the new state, so you can change more
|
||||||
in one go; quit with **q**. When something needs a restart, you choose
|
in one go; quit with **q**. When something needs a restart, you choose
|
||||||
between going back to the menu and restarting now; quitting asks once more.
|
between going back to the menu and restarting now. Quitting then asks
|
||||||
|
"Restart now? [Y/n]": **n** takes you back to the menu (and the next **q**
|
||||||
|
asks again); Ctrl+C quits without restarting.
|
||||||
|
|
||||||
Run it again whenever you like - to change your choices, to turn things off
|
Run it again whenever you like - to change your choices, to turn things off
|
||||||
again, or after a CachyOS update (press `a` in the menu to re-apply
|
again, or after a CachyOS update (press `a` in the menu to re-apply
|
||||||
|
|||||||
+27
-16
@@ -78,13 +78,36 @@ after_run() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
quit_prompt() {
|
||||||
|
# On q: when something needs a restart, offer it (default yes); "n" goes
|
||||||
|
# back to the menu, and the next q asks again. Returns 0 to show the menu
|
||||||
|
# again, 1 to quit (nothing to restart, or input ended in scripted runs).
|
||||||
|
local reply
|
||||||
|
restart_needed || return 1
|
||||||
|
echo
|
||||||
|
if [[ -n "${BIOS_NEEDS_RESTART:-}" ]]; then
|
||||||
|
warn "The BIOS update is written during the next restart. Keep the power on and"
|
||||||
|
warn "don't touch the machine until it has fully started again, even if the screen stays black."
|
||||||
|
else
|
||||||
|
info "The changes take effect after a restart."
|
||||||
|
fi
|
||||||
|
read -rp "$(echo -e "${c_bold}Restart now?${c_reset} [Y/n] (n = back to the menu, Ctrl+C = quit without restarting) ")" reply || return 1
|
||||||
|
case "$reply" in
|
||||||
|
""|y|Y) restart_now ;;
|
||||||
|
esac
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
# Menu loop: after each run the menu comes back with the new state, until
|
# Menu loop: after each run the menu comes back with the new state, until
|
||||||
# the user quits; the restart question comes then, once, for everything.
|
# the user quits; the restart question comes then, once, for everything.
|
||||||
RESTART_FOR_LOGIN=false
|
RESTART_FOR_LOGIN=false
|
||||||
SUDO_KEEPALIVE=false
|
SUDO_KEEPALIVE=false
|
||||||
while true; do
|
while true; do
|
||||||
detect_components
|
detect_components
|
||||||
run_menu || break
|
if ! run_menu; then
|
||||||
|
quit_prompt && continue
|
||||||
|
break
|
||||||
|
fi
|
||||||
plan_changes
|
plan_changes
|
||||||
|
|
||||||
if [[ ${#TO_DISABLE[@]} -eq 0 && ${#TO_ENABLE[@]} -eq 0 ]]; then
|
if [[ ${#TO_DISABLE[@]} -eq 0 && ${#TO_ENABLE[@]} -eq 0 ]]; then
|
||||||
@@ -130,21 +153,9 @@ while true; do
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# A staged BIOS update is written during the restart.
|
if restart_needed; then
|
||||||
if [[ -n "${BIOS_NEEDS_RESTART:-}" ]]; then
|
# Only reached when input ended (scripted runs): never restart then.
|
||||||
warn "The BIOS update is written during the next restart. Keep the power on and"
|
info "Not restarted; the changes take effect after a restart."
|
||||||
warn "don't touch the machine until it has fully started again, even if the screen stays black."
|
|
||||||
if ask_yn "Restart now to install the BIOS update?" n; then
|
|
||||||
restart_now
|
|
||||||
else
|
|
||||||
info "The BIOS update installs at your next restart."
|
|
||||||
fi
|
|
||||||
elif [[ "$RESTART_FOR_LOGIN" == true ]]; then
|
|
||||||
if ask_yn "Restart now so the changes take effect?" n; then
|
|
||||||
restart_now
|
|
||||||
else
|
|
||||||
info "Restart whenever you're ready."
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
info "Bye."
|
info "Bye."
|
||||||
fi
|
fi
|
||||||
Reference in new issue
Block a user