Improving the command line UI of gpg

Doron Behar doron.behar at gmail.com
Mon Jul 23 19:55:10 CEST 2018


Hello GnuPG developers,

I would like to discuss a subject that has been really bothering me and
I hope I'm not the only one.

I've been using `gpg` for a while. Honestly, I must say it's
command-line user interface is super uncomfortable. Let me explain:

The problem resides in the fact that it accepts only `options` (starting
with `--` or `-`. Shell completion engines are better built for commands
that accept both options and commands. This makes it easier for the user
(getting help either from the shell tab completion engine or the
program's manual) to distinguish between commands and the optional
flags.

Inspired by the (super comfortable IMO) command line user interface of
`git`, I've had a vision for a new set of `gpg` subcommands and the
corresponding arguments and options I think naming them so would be
comfortable enough. I've attached a text file with the subcommands and
the arguments and options they should accept. I hope it's format is
clear.

I would really like to improve the usability of `gpg` and I think this
is a crucial step towards making it more user friendly. From reading the
source code, I've noticed GnuPG implements it's own command line
arguments parsing. Maybe it'll be better to use a standard library like
`argp.h`?

This obviously mean that it would make the next version of `gpg`
incompatible with the older versions but I really think it's worth the
effort.

I'd love to hear your opinions.



More information about the Gnupg-devel mailing list