Refine Settings and window startup; refresh project documentation

This commit is contained in:
Samuel Onoja committed 2026-09-26 21:22:39 +01:00
1 parent 23991d5bd8
commit c63af64d87
24 files changed
+696 -1850

No files matched your search

+10 -1
View File
@@ -2,6 +2,12 @@
# Install already-built binaries. Run from any directory with sudo.
set -euo pipefail
session_entry_matches() {
# App-icon metadata can change between managed releases. All other fields,
# especially Exec/TryExec, must still match before replacing an entry.
cmp -s -- <(sed '/^Icon=/d' "$1") <(sed '/^Icon=/d' "$2")
}
repo_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
release_id=${1:?usage: install-session.sh RELEASE_ID}
[[ $release_id =~ ^[a-zA-Z0-9][a-zA-Z0-9._-]*$ ]] || exit 2
@@ -29,7 +35,7 @@ for link in current previous; do
fi
done
if [[ -e $session_entry ]]; then
cmp -s -- "$repo_dir/packaging/ferese.desktop" "$session_entry" || {
session_entry_matches "$repo_dir/packaging/ferese.desktop" "$session_entry" || {
echo "Different session entry exists: $session_entry" >&2; exit 1;
}
fi
@@ -40,6 +46,9 @@ desktop-file-validate "$repo_dir/packaging/ferese.desktop"
desktop-file-validate "$repo_dir/packaging/dev.ferese.Settings.desktop"
install -d -m 0755 -- "$release_dir" /usr/local/bin /usr/share/wayland-sessions
if [[ -e $session_entry ]]; then
install -m 0644 -- "$session_entry" "$release_dir/session.previous.desktop"
fi
for name in ferese ferese-shell ferese-settings feresectl; do
install -m 0755 -- "$repo_dir/target/release/$name" "$release_dir/$name"
done
+8 -2
View File
@@ -35,7 +35,11 @@ if [[ ! -x "$feresectl_program" ]]; then
fi
if [[ ! -x "$malformed_client_program" ]]; then
cargo build -p ferese-malformed-client
if [[ -n "${FERESE_MALFORMED_CLIENT:-}" ]]; then
echo "configured malformed-client probe is not executable: $malformed_client_program" >&2
exit 2
fi
echo "Local malformed-client probe unavailable; skipping protocol fuzz checks" >&2
fi
if ! command -v "$client_program" >/dev/null 2>&1; then
@@ -185,7 +189,9 @@ while ((SECONDS < deadline)); do
launch_client
wait_for_focus
kill -TERM "${client_pids[-1]}" 2>/dev/null || true
"$malformed_client_program" >>"$log_path" 2>&1
if [[ -x "$malformed_client_program" ]]; then
"$malformed_client_program" >>"$log_path" 2>&1
fi
control get-outputs
fi
reap_clients