#!/bin/sh
# SPDX-License-Identifier: AGPL-3.0-only
# Copyright 2022 Sxmo Contributors
# Copyright 2023 Zach DeCook
KEYBOARD=wvkbd-mobintl
isopen() {
if [ -z "$KEYBOARD" ]; then
exit 0 # ssh/tty usage by example
fi
pidof "$KEYBOARD" > /dev/null
}
open() {
if [ -n "$KEYBOARD" ]; then
#Note: KEYBOARD_ARGS is not quoted by design as it may includes a pipe and further tools
# shellcheck disable=SC2086
isopen || eval "$KEYBOARD" $KEYBOARD_ARGS &
fi
}
close() {
if [ -n "$KEYBOARD" ]; then # avoid killing everything !
pkill "$KEYBOARD"
fi
}
dbus-monitor "interface='sm.puri.OSK0',member='SetVisible'" |
while read -r line; do
echo "$line" | grep -i "boolean.*true" && open
echo "$line" | grep -i "boolean.*false" && close
done
exit 0
if [ "$1" = "toggle" ]; then
close || open
elif [ "$1" = "close" ]; then
if isopen; then
close
fi
elif [ "$1" = "isopen" ]; then
isopen || exit 1
else
open
fi