summaryrefslogtreecommitdiff
path: root/scripts/enable-ibus-test
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2026-07-24 12:46:45 +0200
committerYuval Adam <_@yuv.al>2026-07-24 12:46:45 +0200
commitc6a83f2392293bd34c0c9ba6286bf34063446027 (patch)
tree8d4845328fa99a505bd83fe1d62be0ea6278861e /scripts/enable-ibus-test
parenta0e54437fe03b36903faa8b600b6ba903cb15392 (diff)
Add IBus passthrough insertion prototype
Diffstat (limited to 'scripts/enable-ibus-test')
-rwxr-xr-xscripts/enable-ibus-test28
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/enable-ibus-test b/scripts/enable-ibus-test
new file mode 100755
index 0000000..b0a32cc
--- /dev/null
+++ b/scripts/enable-ibus-test
@@ -0,0 +1,28 @@
+#!/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)"