#!/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