Merge pull request #41 from dhxgit/master

This really fixes #39
This commit is contained in:
Rasmus Steinke 2016-05-25 00:07:37 +02:00
commit ee6279a8b9

View File

@ -149,7 +149,7 @@ generatePass () {
# main Menu
mainMenu () {
if [[ $1 == "--bmarks" ]]; then
selected_password="$(echo -e "$(list_passwords 2>/dev/null)" \
selected_password="$(list_passwords 2>/dev/null \
| _rofi -mesg "Bookmarks Mode. ${switch} to switch" \
-dmenu \
-kb-custom-1 "Alt+x" \
@ -167,12 +167,12 @@ mainMenu () {
fi
else
unset selected_password
help_text=$(echo -e "Enter: Autotype - ${action_menu}: Actions - ${show}: View\n${type_menu}: Type Field - ${copy_menu}: Copy Field - ${help}: Help" | column -s '-' -t)
help_text=$({ echo -e "Enter: Autotype - ${action_menu}: Actions - ${show}: View"; echo "${type_menu}: Type Field - ${copy_menu}: Copy Field - ${help}: Help";} | column -s '-' -t)
line1=$(echo "${help_text}" | head -1)
line3=$(echo "${help_text}" | tail -1)
HELP="<span color='$help_color'>${line1}
${line3}</span>"
selected_password="$(echo -e "[ Add Entry ]>\n---\n$(list_passwords 2>/dev/null)" \
selected_password="$({ echo -e "[ Add Entry ]>\n---"; list_passwords 2>/dev/null;} \
| _rofi -mesg "${HELP}" \
-dmenu -kb-custom-1 "${autotype}" \
-kb-custom-2 "${type_user}" \
@ -202,8 +202,8 @@ ${line3}</span>"
password=$(echo "${password_temp}" | head -1)
declare -A stuff
while read -r LINE; do
_id=$(echo -e "${LINE}" | gawk -F ':[[:space:]]*' '{print $1}')
_val=$(echo -e "${LINE}" | gawk '{sub(/:/,"")}{for (i=2; i<NF; i++) printf $i " "; print $NF}')
_id=$(echo "${LINE}" | gawk -F ':[[:space:]]*' '{print $1}')
_val=$(echo "${LINE}" | gawk '{sub(/:/,"")}{for (i=2; i<NF; i++) printf $i " "; print $NF}')
stuff["${_id}"]=${_val}
done < <(PASSWORD_STORE_DIR="${root}" pass "${selected_password}" | tail -n+2 | grep -P '(: |:\t)' )
stuff["pass"]=${password}
@ -259,7 +259,7 @@ else unset helptext; mainMenu; fi
typeMenu () {
checkIfPass
typefield=$(echo -e "< Return\n---\npassword\n$(pass "${selected_password}" | grep -P ':[\t ]' | gawk -F ':' '{ print $1 }')" | _rofi -dmenu -p "Choose Field to type > ")
typefield=$({ echo -e "< Return\n---\npassword"; pass "${selected_password}" | grep -P ':[\t ]' | gawk -F ':' '{ print $1 }';} | _rofi -dmenu -p "Choose Field to type > ")
if [[ $typefield == "" ]]; then exit;
elif [[ $typefield == "password" ]]; then typePass;
elif [[ $typefield == "< Return" ]]; then mainMenu;
@ -269,7 +269,7 @@ typeMenu () {
copyMenu () {
checkIfPass
copyfield=$(echo -e "< Return\n---\npassword\n$(pass "${selected_password}" | grep -P ':[\t ]' | gawk -F ':' '{ print $1 }')" | _rofi -dmenu -p "Choose Field to copy > ")
copyfield=$({ echo -e "< Return\n---\npassword"; pass "${selected_password}" | grep -P ':[\t ]' | gawk -F ':' '{ print $1 }';} | _rofi -dmenu -p "Choose Field to copy > ")
if [[ $copyfield == "" ]]; then exit;
elif [[ $copyfield == "password" ]]; then copyPass;
elif [[ $copyfield == "< Return" ]]; then mainMenu;
@ -291,15 +291,15 @@ actionMenu () {
showEntry () {
HELP="<span color='$help_color'>${type_entry}: Type Entry | ${copy_entry}: Copy Entry</span>"
bla=$(echo -e "0 Return\n---\n$(PASSWORD_STORE_DIR="${root}" pass "$selected_password")" | _rofi -dmenu -mesg "${HELP}" -p "> ")
bla=$({ echo -e "0 Return\n---"; PASSWORD_STORE_DIR="${root}" pass "$selected_password";} | _rofi -dmenu -mesg "${HELP}" -p "> ")
rofi_exit=$?
password_temp=$(PASSWORD_STORE_DIR="${root}" pass "$selected_password")
password=$(echo "${password_temp}" | head -1)
declare -A stuff
while read -r LINE; do
_id=$(echo -e "${LINE}" | gawk -F ':[[:space:]]*' '{print $1}')
_val=$(echo -e "${LINE}" | gawk '{sub(/:/,"")}{for (i=2; i<NF; i++) printf $i " "; print $NF}')
_id=$(echo "${LINE}" | gawk -F ':[[:space:]]*' '{print $1}')
_val=$(echo "${LINE}" | gawk '{sub(/:/,"")}{for (i=2; i<NF; i++) printf $i " "; print $NF}')
stuff["${_id}"]=${_val}
done < <(PASSWORD_STORE_DIR="${root}" pass "${selected_password}" | tail -n+2 | grep -P '(: |:\t)' )
@ -397,7 +397,7 @@ insertPass () {
if [[ -z "$domain" ]]; then domain="Empty"; fi
if [[ -z "$name" ]]; then name="Empty"; fi
insertmenu=$(echo -e "0 Return to Main Menu\n* Accept Values and Add Password Entry\n---\n1 Name ($name)\n2 URL ($domain)\n3 User ($user)\n4 Password ($pass2)" | _rofi -dmenu -mesg "<span color='$help_color'>For faster adding use the addpass command</span>" -p "Add Entry > ")
insertmenu=$({ echo -e "0 Return to Main Menu\n* Accept Values and Add Password Entry\n---"; echo "1 Name ($name)"; echo "2 URL ($domain)"; echo "3 User ($user)"; echo "4 Password ($pass2)"; } | _rofi -dmenu -mesg "<span color='$help_color'>For faster adding use the addpass command</span>" -p "Add Entry > ")
insert_val=$?
if [[ $insert_val -eq 1 ]]; then exit
else
@ -405,13 +405,23 @@ insertPass () {
elif [[ $insertmenu == "" ]]; then exit
elif [[ $insertmenu == "* Accept Values and Add Password Entry" ]]; then
cd "${root}" || exit
group=$(echo -e "No Group\n---\n$(find -type d -not -iwholename '*.git*' -printf '%d\t%P\n' | sort -r -nk1 | cut -f2-)" | _rofi -dmenu -p "Choose Group > ")
group=$({ echo -e "No Group\n---"; find -type d -not -iwholename '*.git*' -printf '%d\t%P\n' | sort -r -nk1 | cut -f2-;} | _rofi -dmenu -p "Choose Group > ")
if [[ "$group" == "No Group" ]]; then
PASSWORD_STORE_DIR="${root}" pass insert -m -f "${name}" < <(echo -e "${pass}\n${USERNAME_field}: ${user}\n---\n${URL_field}: ${domain}")
{
echo "${pass}"
echo "${USERNAME_field}: ${user}"
echo "---"
echo "${URL_field}: ${domain}"
} | PASSWORD_STORE_DIR="${root}" pass insert -m -f "${name}"
elif [[ "$group" == "" ]]; then
exit
else
PASSWORD_STORE_DIR="${root}" pass insert -m -f "${group}/${name}" < <(echo -e "${pass}\nU${USERNAME_field}: ${user}\n---\n${URL_field}: ${domain}")
{
echo "${pass}"
echo "${USERNAME_field}: ${user}"
echo "---"
echo "${URL_field}: ${domain}"
} | PASSWORD_STORE_DIR="${root}" pass insert -m -f "${group}/${name}"
fi
exit
elif [[ $insertmenu == "1 Name"* ]]; then