clipctl #!/usr/bin/env bash : "${CM_DIR:="${XDG_RUNTIME_DIR-"${TMPDIR-/tmp}"}"}" if [[ -z ]] || [[ == --help ]] || [[ == -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 in enable|disable|toggle|status) if [[ -z "$clipmenud_pid" ]]; then echo "clipmenud is not running" exit 2 fi ;; esac major_version=6 cache_dir=$CM_DIR/clipmenu.$major_version.$USER status_file=$cache_dir/status case 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' "" exit 1 ;; esac