diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2017-09-15 01:11:34 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2017-09-20 13:13:35 -0700 |
commit | 2a41738fd7c88e2b6977673f91bdb8d1f7224cf1 (patch) | |
tree | 3ac91db133053744bbb7268a86f6cd635a76d49e /fc-list | |
parent | dc8326d3f116bb2a1425aa68660a332e351b6cb4 (diff) |
[fc-match/fc-list/fc-query/fc-scan] Add --brief that is like --verbose without charset
Diffstat (limited to 'fc-list')
-rw-r--r-- | fc-list/fc-list.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/fc-list/fc-list.c b/fc-list/fc-list.c index f6c7282e..95963e79 100644 --- a/fc-list/fc-list.c +++ b/fc-list/fc-list.c @@ -49,6 +49,7 @@ #include <getopt.h> const struct option longopts[] = { {"verbose", 0, 0, 'v'}, + {"brief", 0, 0, 'b'}, {"format", 1, 0, 'f'}, {"quiet", 0, 0, 'q'}, {"version", 0, 0, 'V'}, @@ -67,22 +68,24 @@ usage (char *program, int error) { FILE *file = error ? stderr : stdout; #if HAVE_GETOPT_LONG - fprintf (file, "usage: %s [-vqVh] [-f FORMAT] [--verbose] [--format=FORMAT] [--quiet] [--version] [--help] [pattern] {element ...} \n", + fprintf (file, "usage: %s [-vbqVh] [-f FORMAT] [--verbose] [--brief] [--format=FORMAT] [--quiet] [--version] [--help] [pattern] {element ...} \n", program); #else - fprintf (file, "usage: %s [-vqVh] [-f FORMAT] [pattern] {element ...} \n", + fprintf (file, "usage: %s [-vbqVh] [-f FORMAT] [pattern] {element ...} \n", program); #endif fprintf (file, "List fonts matching [pattern]\n"); fprintf (file, "\n"); #if HAVE_GETOPT_LONG fprintf (file, " -v, --verbose display entire font pattern verbosely\n"); + fprintf (file, " -b, --brief display entire font pattern briefly\n"); fprintf (file, " -f, --format=FORMAT use the given output format\n"); fprintf (file, " -q, --quiet suppress all normal output, exit 1 if no fonts matched\n"); fprintf (file, " -V, --version display font config version and exit\n"); fprintf (file, " -h, --help display this help and exit\n"); #else fprintf (file, " -v (verbose) display entire font pattern verbosely\n"); + fprintf (file, " -b (brief) display entire font pattern briefly\n"); fprintf (file, " -f FORMAT (format) use the given output format\n"); fprintf (file, " -q, (quiet) suppress all normal output, exit 1 if no fonts matched\n"); fprintf (file, " -V (version) display font config version and exit\n"); @@ -95,6 +98,7 @@ int main (int argc, char **argv) { int verbose = 0; + int brief = 0; int quiet = 0; const FcChar8 *format = NULL; int nfont = 0; @@ -106,15 +110,18 @@ main (int argc, char **argv) int c; #if HAVE_GETOPT_LONG - while ((c = getopt_long (argc, argv, "vf:qVh", longopts, NULL)) != -1) + while ((c = getopt_long (argc, argv, "vbf:qVh", longopts, NULL)) != -1) #else - while ((c = getopt (argc, argv, "vf:qVh")) != -1) + while ((c = getopt (argc, argv, "vbf:qVh")) != -1) #endif { switch (c) { case 'v': verbose = 1; break; + case 'b': + brief = 1; + break; case 'f': format = (FcChar8 *) strdup (optarg); break; @@ -155,7 +162,7 @@ main (int argc, char **argv) pat = FcPatternCreate (); if (quiet && !os) os = FcObjectSetCreate (); - if (!verbose && !format && !os) + if (!verbose && !brief && !format && !os) os = FcObjectSetBuild (FC_FAMILY, FC_STYLE, FC_FILE, (char *) 0); if (!format) format = (const FcChar8 *) "%{=fclist}\n"; @@ -171,8 +178,13 @@ main (int argc, char **argv) for (j = 0; j < fs->nfont; j++) { - if (verbose) + if (verbose || brief) { + if (brief) + { + FcPatternDel (fs->fonts[j], FC_CHARSET); + FcPatternDel (fs->fonts[j], FC_LANG); + } FcPatternPrint (fs->fonts[j]); } else |