Compare commits

...
2 Commits
Author SHA1 Message Date
Felitendo 20fbadbc95 Menu: act on a single keypress instead of waiting for Enter
Also stops Enter from quitting the menu (it used to share the quit branch with
q) and swallows the tail of an escape sequence, so one arrow key redraws once
rather than three times and never closes the menu.
2026-08-08 14:58:28 +02:00
Felitendo e42fb4f61c Make the reported version follow the version actually being built
VERSION is now overridable, so the PKGBUILD passes $pkgver into make and the
two can no longer disagree. v1.0.1 shipped a Makefile that still said 1.0.0, so
'cachy-auto-update --version' reported the wrong release.
2026-08-08 14:45:07 +02:00
4 changed files with 24 additions and 8 deletions

No files matched your search

+4 -1
View File
@@ -5,7 +5,10 @@
# targets degrade to a no-op when msgfmt/scdoc are missing, so the tree stays
# usable for development without the build dependencies installed.
VERSION := 1.0.0
# Overridable so a packager can pass the version it is actually building
# (`make VERSION=$pkgver`). The literal below is the fallback for builds
# straight from a checkout, and is what a release tag has to carry.
VERSION ?= 1.0.3
PREFIX ?= /usr
DESTDIR ?=
+1 -1
View File
@@ -134,7 +134,7 @@ msgstr ""
msgid "Quit"
msgstr ""
msgid "Press Enter to continue..."
msgid "Press any key to continue..."
msgstr ""
#. Commands
+2 -2
View File
@@ -135,8 +135,8 @@ msgstr "Aktuelle Bedingungen anzeigen"
msgid "Quit"
msgstr "Beenden"
msgid "Press Enter to continue..."
msgstr "Zum Fortfahren Enter drücken …"
msgid "Press any key to continue..."
msgstr "Zum Fortfahren eine Taste drücken …"
#. Commands
msgid "Automatic updates are on."
+17 -4
View File
@@ -145,7 +145,11 @@ cau_ui_menu() {
printf ' [q] %s\n' "$(cau_msg "Quit")"
printf '\n > '
read -r choice || { printf '\n'; return 0; }
# One keypress, no Enter. -s keeps the raw character out of the
# display so the echo below is the only thing printed, and a failing
# read means EOF (Ctrl-D, or a script piping input) - that quits.
read -rsn1 choice || { printf '\n'; return 0; }
printf '%s\n' "$choice"
case "$choice" in
1)
@@ -163,13 +167,22 @@ cau_ui_menu() {
3) cau_do_run --force; cau_pause ;;
4) cau_do_log; cau_pause ;;
5) cau_ui_status_conditions; cau_pause ;;
q|Q|'') return 0 ;;
q|Q) return 0 ;;
$'\e')
# Arrow keys and friends arrive as ESC [ X. Swallow the rest so
# one keypress does not redraw the menu three times. Escape is
# deliberately not a quit key: that would make a stray arrow
# key close the menu.
read -rsn2 -t 0.05 _ 2>/dev/null || true
;;
# Anything else, Enter included, just redraws.
*) ;;
esac
done
}
cau_pause() {
printf '\n %s' "$(cau_msg "Press Enter to continue...")"
read -r _ || true
printf '\n %s' "$(cau_msg "Press any key to continue...")"
read -rsn1 _ || true
printf '\n'
}