here is the GPG command line info from OVDB. All a GUI does is build up the command from user inputs (ie: clicking buttons) and then sends it to the GPG CLI and process the output / displays some of it to the user in a visual widget like a text box. I think it is much nicer to just learn the commands, but I need to practice programming this sort of GUI anyway so figured what the hell .