feat(x11): migrate to pure Xlibre + dwm/dmenu/st stack, fix fcitx5-t9 bottom bar, PM8909 PON shutdown, and remove Wayland

This commit is contained in:
Luxferre
2026-10-20 21:15:16 +03:00
parent ad012360c3
commit 7bab7b7a11
422 changed files with 63226 additions and 2342 deletions
+60
View File
@@ -0,0 +1,60 @@
#!/bin/sh
# SPDX-License-Identifier: AGPL-3.0-only
# Copyright 2022 Sxmo Contributors
# shellcheck source=scripts/core/sxmo_common.sh
. sxmo_common.sh
if [ "$1" = clear ]; then
rm -f "$XDG_RUNTIME_DIR"/sxmo.multikey.count.*
exit
fi
identifier="$1"
threshold="${SXMO_THRESHOLD:-0.15}"
# Fast path: when locked or screenoff, single/double/triple presses on power/pickup
# all wake and unlock the phone, so execute immediately without waiting 300ms.
STATE_FILE="${SXMO_STATE:-$XDG_RUNTIME_DIR/sxmo.state}"
if [ -r "$STATE_FILE" ]; then
read -r cur_state < "$STATE_FILE" 2>/dev/null || cur_state=""
if [ "$cur_state" != "unlock" ]; then
case "$identifier" in
powerbutton|pickup)
rm -f "$XDG_RUNTIME_DIR"/sxmo.multikey.count."$identifier"
exec sxmo_hook_inputhandler.sh "$2"
;;
esac
fi
fi
count_file="$XDG_RUNTIME_DIR"/sxmo.multikey.count."$identifier"
if [ -f "$count_file" ]; then
read -r old_counter < "$count_file" 2>/dev/null || old_counter=0
counter="$((old_counter+1))"
else
counter=1
fi
printf %s "$counter" > "$count_file"
shift "$counter"
if [ "$#" -eq 0 ]; then
exit
fi
sleep "$threshold"
read -r new_counter < "$count_file" 2>/dev/null || new_counter="$counter"
if [ "$counter" != "$new_counter" ] && [ "$#" -ne 1 ]; then # Only the last count can overflow
exit
fi
eval sxmo_hook_inputhandler.sh "$1" &
if [ "$counter" != "$new_counter" ]; then # overflowed
sleep "$threshold"
sleep "$threshold"
fi
rm -f "$count_file"