#!/usr/bin/env bash set -euo pipefail state_dir=${XDG_STATE_HOME:-$HOME/.local/state}/parley dropin_dir=${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/parley.service.d mkdir -p "$state_dir" "$dropin_dir" previous=$(ibus engine) if [[ "$previous" != "parley" ]]; then printf '%s\n' "$previous" > "$state_dir/previous-ibus-engine" fi systemctl --user start parley-ibus.service for _ in {1..20}; do busctl --user --quiet list 2>/dev/null | grep -q '^org.parley.IBus1 ' && break sleep 0.1 done ibus engine parley >/dev/null 2>&1 || [[ $(ibus engine) == parley ]] cat > "$dropin_dir/ibus-test.conf" <<'EOF' [Service] Environment=PARLEY_AUTO_INSERT=1 Environment=PARLEY_INSERTION_MODE=ibus EOF systemctl --user daemon-reload systemctl --user restart parley.service echo "Parley IBus test mode enabled (previous engine: $previous)"