From cb95c34339a153dffed050cd7605d508bd57df41 Mon Sep 17 00:00:00 2001 From: Rasmus Steinke Date: Tue, 8 Nov 2016 01:31:37 +0100 Subject: [PATCH] remove accidently pushed changes --- rofi-pass | 147 ++++++++++++++++++++---------------------------------- 1 file changed, 54 insertions(+), 93 deletions(-) diff --git a/rofi-pass b/rofi-pass index 5397622..81fcdf5 100755 --- a/rofi-pass +++ b/rofi-pass @@ -75,21 +75,10 @@ autopass () { chmod 600 "$HOME/.cache/rofi-pass/last_used" if [[ -z "${stuff["$AUTOTYPE_field"]}" ]]; then if [[ "${stuff["${USERNAME_field}"]}" ]]; then - if [[ $failsafe == "false" ]]; then - echo -n "${stuff["${USERNAME_field}"]}" | xdotool type --clearmodifiers --file - - elif [[ $failsafe == "true" ]]; then - echo -n "${stuff["${USERNAME_field}"]}" | xclip -sel clip - xdotool key "ctrl+v" - fi + echo -n "${stuff["${USERNAME_field}"]}" | xdotool type --clearmodifiers --file - xdotool key Tab fi - - if [[ $failsafe == "false" ]]; then - echo -n "${password}" | xdotool type --clearmodifiers --file - - elif [[ $failsafe == "true" ]]; then - echo -n "${stuff["${USERNAME_field}"]}" | xclip -sel clip - xdotool key "ctrl+v" - fi + echo -n "${password}" | xdotool type --clearmodifiers --file - sleep 1 if [[ ${auto_enter} == "true" ]]; then xdotool key Return @@ -105,19 +94,9 @@ autopass () { elif [[ $word == ":enter" ]]; then xdotool key Return; elif [[ $word == "pass" ]]; then - if [[ $failsafe == "false" ]]; then - echo -n "${password}" | xdotool type --clearmodifiers --file - - elif [[ $failsafe == "true" ]]; then - echo -n "${password}" | xclip -sel clip - xdotool key "ctrl+v" - fi + echo -n "${password}" | xdotool type --clearmodifiers --file - else - if [[ $failsafe == "false" ]]; then - echo -n "${stuff[${word}]}" | xdotool type --clearmodifiers --file - - elif [[ $failsafe == "true" ]]; then - echo -n "${stuff[${word}]}" | xclip -sel clip - xdotool key "ctrl+v" - fi + echo -n "${stuff[${word}]}" | xdotool type --clearmodifiers --file - fi done if [[ ${auto_enter} == "true" ]]; then @@ -189,6 +168,11 @@ copyPass () { $(sleep 45; echo -n "" | xclip; echo "" | xclip -selection clipboard | notify-send "rofi-pass" "Clipboard cleared") & } +viewEntry () { + checkIfPass + showEntry "${selected_password}" +} + generatePass () { askGen () { askGenMenu=$(echo -e "Yes\nNo" | rofi -dmenu -p "Generate new Password for ${selected_password}? > ") @@ -242,7 +226,7 @@ mainMenu () { HELP="Welcome to rofi-pass. Use ${insert_pass} to create a new pass entry. Run ${default_do} with Enter. For more help hit ${help}." selected_password="$(list_passwords 2>/dev/null \ - | _rofi \ + | _rofi -mesg "${HELP}" \ -dmenu -kb-accept-entry '!Return' -kb-custom-1 "${autotype}" \ -kb-custom-2 "${type_user}" \ -kb-custom-3 "${type_pass}" \ @@ -257,7 +241,6 @@ Run ${default_do} with Enter. For more help hit -kb-custom-16 "${help}" \ -kb-custom-17 "${switch}" \ -kb-custom-18 "${insert_pass}" \ - -kb-custom-19 "Alt-g" \ -dmenu \ -select "$entry" \ -p "rofi-pass > ")" @@ -301,7 +284,7 @@ Run ${default_do} with Enter. For more help hit elif [[ "${rofi_exit}" -eq 11 ]]; then sleep 0.2; typeUser; elif [[ "${rofi_exit}" -eq 12 ]]; then sleep 0.2; typePass; elif [[ "${rofi_exit}" -eq 17 ]]; then copyURL; - elif [[ "${rofi_exit}" -eq 16 ]]; then export pass_content="${pass_content}"; showEntry; + elif [[ "${rofi_exit}" -eq 16 ]]; then viewEntry; elif [[ "${rofi_exit}" -eq 18 ]]; then export default_do="menu"; typeMenu; elif [[ "${rofi_exit}" -eq 15 ]]; then copyPass; elif [[ "${rofi_exit}" -eq 23 ]]; then actionMenu; @@ -309,16 +292,10 @@ Run ${default_do} with Enter. For more help hit elif [[ "${rofi_exit}" -eq 24 ]]; then copyMenu; elif [[ "${rofi_exit}" -eq 26 ]]; then $(${basecommand} --bmarks); elif [[ "${rofi_exit}" -eq 27 ]]; then insertPass; - elif [[ "${rofi_exit}" -eq 28 ]]; then unlock_database; fi clearUp } -unlock_database() { - _rofi -dmenu -p "Enter passphrase to unlock pass db: " -password | gpg -s --passphrase-fd 0 - mainMenu - -} clearUp () { password='' @@ -328,7 +305,6 @@ clearUp () { unset selected_password unset password_temp unset stuff - echo -n "" | xclip -sel clip } helpMenu () { @@ -413,68 +389,53 @@ actionMenu () { } showEntry () { - entry=$(echo "${pass_content}" | _rofi -dmenu -p "content of '${selected_password}'") + if [[ -z $pass_content ]]; then + password_temp=$(PASSWORD_STORE_DIR="${root}" pass "$selected_password") + password="${password_temp%%$'\n'*}" + pass_key_value=$(echo "${password_temp}" | tail -n+2 | grep ': ') + declare -A stuff + while read -r LINE; do + _id="${LINE%%: *}" + _val="${LINE#* }" + stuff["${_id}"]=${_val} + done < <(echo "${pass_key_value}") + stuff["pass"]=${password} + if test "${stuff['autotype']+autotype}" + then + : + else + stuff["autotype"]="${USERNAME_field} :tab pass" + fi + pass_content="$(for key in "${!stuff[@]}"; do echo "${key}: ${stuff[$key]}"; done)" + fi + HELP="${copy_entry}: Copy Entry" + bla=$(echo -e "< Return\n${pass_content}" | _rofi -kb-accept-entry '!Return' -dmenu -mesg "Enter: Copy entry to clipboard" -p "> ") rofi_exit=$? - if [[ $rofi_exit -eq 1 ]]; - then + word=$(echo "$bla" | gawk -F': ' '{print $1}') + if [[ ${rofi_exit} -eq 1 ]]; then exit + elif [[ ${rofi_exit} -eq 0 ]]; then + if [[ ${bla} == "< Return" ]]; then + mainMenu + else + if [[ -z $(echo -n "${stuff[${word}]}") ]]; then + echo -n "$word" | doClip + else + echo -n "${stuff[${word}]}" | doClip + fi + notify-send "rofi-pass" "Copied Password\nClearing in 45 seconds" + $(sleep 45; echo -n "" | xclip; echo "" | xclip -selection clipboard | notify-send "rofi-pass" "Clipboard cleared") & + exit + fi fi - - if [[ $rofi_exit -eq 0 ]]; then - echo -n "${entry}" | doClip - notify-send "rofi-pass" "Copied Password\nClearing in 45 seconds" - $(sleep 45; echo -n "" | xclip; echo "" | xclip -selection clipboard | notify-send "rofi-pass" "Clipboard cleared") & - fi - - -# if [[ -z $pass_content ]]; then -# password_temp=$(PASSWORD_STORE_DIR="${root}" pass "$selected_password") -# password="${password_temp%%$'\n'*}" -# pass_key_value=$(echo "${password_temp}" | tail -n+2 | grep ': ') -# declare -A stuff -# while read -r LINE; do -# _id="${LINE%%: *}" -# _val="${LINE#* }" -# stuff["${_id}"]=${_val} -# done < <(echo "${pass_key_value}") -# stuff["pass"]=${password} -# if test "${stuff['autotype']+autotype}" -# then -# : -# else -# stuff["autotype"]="${USERNAME_field} :tab pass" -# fi -# pass_content="$(for key in "${!stuff[@]}"; do echo "${key}: ${stuff[$key]}"; done)" -# fi -# HELP="${copy_entry}: Copy Entry" -# bla=$(echo -e "< Return\n${pass_content}" | _rofi -kb-accept-entry '!Return' -dmenu -mesg "Enter: Copy entry to clipboard" -p "> ") -# rofi_exit=$? -# -# word=$(echo "$bla" | gawk -F': ' '{print $1}') -# if [[ ${rofi_exit} -eq 1 ]]; then -# exit -# elif [[ ${rofi_exit} -eq 0 ]]; then -# if [[ ${bla} == "< Return" ]]; then -# mainMenu -# else -# if [[ -z $(echo -n "${stuff[${word}]}") ]]; then -# echo -n "$word" | doClip -# else -# echo -n "${stuff[${word}]}" | doClip -# fi -# notify-send "rofi-pass" "Copied Password\nClearing in 45 seconds" -# $(sleep 45; echo -n "" | xclip; echo "" | xclip -selection clipboard | notify-send "rofi-pass" "Clipboard cleared") & -# exit -# fi -# fi -# exit -# unset stuff -# unset password -# unset selected_password -# unset password_temp -# unset stuff -# exit + exit + unset stuff + unset password + unset selected_password + unset password_temp + unset stuff + exit } manageEntry () {