|
|
- #!/usr/bin/env bash
-
- : "${CM_DIR:="${XDG_RUNTIME_DIR-"${TMPDIR-/tmp}"}"}"
-
- if [[ -z $1 ]] || [[ $1 == --help ]] || [[ $1 == -h ]]; then
- cat << 'EOF'
- clipctl provides controls for the clipmenud daemon.
-
- Commands:
- enable: enable clip collection
- disable: disable clip collection
- status: returns "enabled" or "disabled"
- toggle: toggles clip collection
- version: returns major version
- cache-dir: returns the directory used for caching
- EOF
- exit 0
- fi
-
- clipmenud_pid=$(pgrep -u "$(id -u)" -nf 'clipmenud$')
-
- case $1 in
- enable|disable|toggle|status)
- if [[ -z "$clipmenud_pid" ]]; then
- echo "clipmenud is not running" >&2
- exit 2
- fi
- ;;
- esac
-
- major_version=6
- cache_dir=$CM_DIR/clipmenu.$major_version.$USER
- status_file=$cache_dir/status
-
- case $1 in
- enable) kill -USR2 "$clipmenud_pid" ;;
- disable) kill -USR1 "$clipmenud_pid" ;;
- status) cat "$status_file" ;;
- toggle)
- if [[ $(clipctl status) == "enabled" ]]; then
- clipctl disable
- else
- clipctl enable
- fi
- ;;
- version) echo "$major_version" ;;
- cache-dir) echo "$cache_dir" ;;
- *)
- printf 'Unknown command: %s\n' "$1" >&2
- exit 1
- ;;
- esac
|