2020-03-18 11:58:58 +01:00
|
|
|
|
#!/bin/sh
|
|
|
|
|
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
|
|
|
|
|
|
|
|
|
|
# This script will try to:
|
|
|
|
|
## Get arguments (at least one)
|
|
|
|
|
## Search contact that corresponding to arguments with khard
|
|
|
|
|
## Display _only_ the email address of the first match
|
|
|
|
|
|
|
|
|
|
# Vars [[[
|
|
|
|
|
debug=true
|
|
|
|
|
|
|
|
|
|
## Colors [[[
|
|
|
|
|
c_redb='\033[1;31m'
|
|
|
|
|
c_magentab='\033[1;35m'
|
|
|
|
|
c_reset='\033[0m'
|
|
|
|
|
## ]]]
|
|
|
|
|
|
|
|
|
|
# ]]]
|
|
|
|
|
|
|
|
|
|
# Functions
|
|
|
|
|
# Function to print a debug message [[[
|
|
|
|
|
debug_message() {
|
|
|
|
|
_message="${1}"
|
|
|
|
|
|
|
|
|
|
[ "${debug}" = "true" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG ${_message}"
|
|
|
|
|
}
|
|
|
|
|
# ]]]
|
|
|
|
|
|
|
|
|
|
# Verify argument [[[
|
|
|
|
|
case "$#" in
|
|
|
|
|
0 )
|
|
|
|
|
printf "${c_redb}%b${c_reset}\n" "Error : Expect at least one argument."
|
|
|
|
|
exit 1
|
|
|
|
|
;;
|
|
|
|
|
* )
|
2020-03-18 15:26:12 +01:00
|
|
|
|
debug_message "− Verify arguments : Script get ${#} arguments."
|
|
|
|
|
contact_pattern="${*}"
|
2020-03-18 11:58:58 +01:00
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
# ]]]
|
|
|
|
|
|
2020-03-18 15:26:12 +01:00
|
|
|
|
debug_message "Look for a contact with these informations:\n${contact_pattern}"
|
2020-03-18 11:58:58 +01:00
|
|
|
|
contact_line=$(khard email "${contact_pattern}" | sed -n 2p)
|
2020-03-18 15:26:12 +01:00
|
|
|
|
debug_message "Matching contact:\n${contact_line}"
|
2020-03-18 11:58:58 +01:00
|
|
|
|
|
|
|
|
|
contact_mail=$(printf '%s' "${contact_line}" | awk '{print $NF}')
|
2020-03-18 15:26:12 +01:00
|
|
|
|
debug_message "Mail of this contact:\n${contact_mail}"
|
|
|
|
|
|
|
|
|
|
# Print the message to X11
|
|
|
|
|
printf '%s' "${contact_mail}" | xdotool type --clearmodifiers --file -
|
2020-03-18 11:58:58 +01:00
|
|
|
|
|
|
|
|
|
exit 0
|