summaryrefslogtreecommitdiff
path: root/scripts
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
parenta0e54437fe03b36903faa8b600b6ba903cb15392 (diff)
Add IBus passthrough insertion prototype
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/disable-ibus-test19
-rwxr-xr-xscripts/enable-ibus-test28
-rwxr-xr-xscripts/install-dev4
3 files changed, 50 insertions, 1 deletions
diff --git a/scripts/disable-ibus-test b/scripts/disable-ibus-test
new file mode 100755
index 0000000..fe8014c
--- /dev/null
+++ b/scripts/disable-ibus-test
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+state_dir=${XDG_STATE_HOME:-$HOME/.local/state}/parley
+dropin=${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/parley.service.d/ibus-test.conf
+previous_file=$state_dir/previous-ibus-engine
+
+rm -f "$dropin"
+systemctl --user daemon-reload
+systemctl --user restart parley.service
+
+if [[ -s "$previous_file" ]]; then
+ previous=$(<"$previous_file")
+ ibus engine "$previous"
+ rm -f "$previous_file"
+ echo "Restored IBus engine: $previous"
+else
+ echo "Parley IBus automatic insertion disabled"
+fi
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)"
diff --git a/scripts/install-dev b/scripts/install-dev
index 3602a0a..e0fbb99 100755
--- a/scripts/install-dev
+++ b/scripts/install-dev
@@ -12,11 +12,13 @@ uv pip install --editable .
mkdir -p "$unit_dir" "$dbus_dir"
sed "s|^ExecStart=.*|ExecStart=$root/.venv/bin/parleyd|" \
data/systemd/parley.service > "$unit_dir/parley.service"
+sed "s|^ExecStart=.*|ExecStart=$root/.venv/bin/parley-ibus|" \
+ data/systemd/parley-ibus.service > "$unit_dir/parley-ibus.service"
install -m644 data/dbus/org.parley.Transcription1.service \
"$dbus_dir/org.parley.Transcription1.service"
systemctl --user daemon-reload
-systemctl --user enable --now parley.service
+systemctl --user enable --now parley.service parley-ibus.service
echo "Installed local development service from $root"
echo "Run: uv run parleyctl status"