------------------------------------------------------------------------------- Pinentry A password helper with complex I/O API rather than command line options. Basically you send it standard input command defining what you want it to do, and read very specific outputs. That is it uses a interactive co-process system, rather than a linear pipeline, though that works (thanks be!) For co-processing see... "info/co-processing/general_hints.txt" The "pinentry-gnome3" version tends to grab the display which means copying/pasting the password from another source (lastpass, or other password store) an impossiblity. It has a option to turn it off but 'it does not work'. Also it alwasy includes the SETQUALITYBAR in its display. The "pinentry-gtk" versions interface is a lot user frendlier, though it does have unequal input boxes that seems out-of-place. Its interface has many options... Minimal... sed -n '/^ *|/!d; s///; s/^ //; p' <<<' | SETDESC Title | GETPIN ' | pinentry-gtk | sed -n 's/^D //p' If no output (or you look for 'ERR') cancle was pressed Pop up a message sed -n '/^ *|/!d; s///; s/^ //; p' <<<' | SETDESC Message First | MESSAGE Message Second ' | pinentry-gtk >/dev/null & GTK shows a single 'OK' button, Gnome had Cancle, But both will just return 'OK' Ask for cancel/yes confirmation sed -n '/^ *|/!d; s///; s/^ //; p' <<<' | SETDESC Do you really mean it | CONFIRM ' | pinentry-gtk If output containes 'ERR' then the "Cancel" button was pressed if no 'ERR' then user pressed "OK" You should be able to change button text, but docs don't say how. But for doubled new password entry... sed -n '/^ *|/!d; s///; s/^ //; p' <<<' | SETDESC New Password | SETREPEAT | GETPIN ' | pinentry-gtk | sed -n 's/^D //p Only returns password if user typed it twice If you do not get a 'D' line, user cancled. you can also look for 'PIN_REPEATED' for good, or 'ERR' for cancel Other notes... SETQUALITYBAR - calls a program to return a value from -100 to 100 With negative values shown in red and positive in green. However again documentation does not say HOW this is done! -------------------------------------------------------------------------------