------------------------------------------------------------------------------- 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" As such 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! -------------------------------------------------------------------------------