From a6560509d99d75728c0c857de4859ca9d81f1a0d Mon Sep 17 00:00:00 2001 From: Přemysl Eric Janouch
Date: Mon, 17 Apr 2023 07:17:16 +0200
Subject: Revise documentation and help output
Split out clearly internal options.
---
docs/fiv.adoc | 37 ++++++++++++++++++++++---------------
docs/fiv.html | 37 +++++++++++++++++++------------------
docs/stylesheet.css | 3 ++-
fiv.c | 42 ++++++++++++++++++++++++++++--------------
4 files changed, 71 insertions(+), 48 deletions(-)
diff --git a/docs/fiv.adoc b/docs/fiv.adoc
index f7f992e..5285d5d 100644
--- a/docs/fiv.adoc
+++ b/docs/fiv.adoc
@@ -26,6 +26,15 @@ the _User Guide_.
Options
-------
+*--browse*::
+ When an image is passed, start in browsing mode, and preselect that
+ image in its containing directory. This is used by *fiv*'s inode/directory
+ handler to implement the "Open Containing Folder" feature of certain
+ applications.
+
+*--help-all*::
+ Show the full list of options, including those provided by GTK+.
+
*--invalidate-cache*::
Invalidate the wide thumbnail cache, removing thumbnails for files that can
no longer be found.
@@ -35,18 +44,11 @@ Options
the list of MIME types within *fiv*'s desktop file when the list
of GdkPixbuf loaders changes.
-*--browse*::
- When an image is passed, start in browsing mode, and preselect that
- image in its containing directory. This is used by *fiv*'s inode/directory
- handler to implement the "Open Containing Folder" feature of certain
- applications.
-
-*--thumbnail*=_SIZE_::
- Generate thumbnails for the first argument, in all sizes not exceeding
- _SIZE_, and present the largest of them on the standard output
- in an application-specific bitmap format. Available sizes follow directory
- names in the _Thumbnail Managing Standard_.
+*-V*, *--version*::
+ Output version information and exit.
+Internal options
+~~~~~~~~~~~~~~~~
*--extract-thumbnail*::
Present any embedded thumbnail of the first argument on the standard output
in an application-specific bitmap format. When both *--thumbnail*
@@ -54,11 +56,16 @@ Options
exiting early if successful. This is used to enhance responsivity
of thumbnail procurement.
-*-V*, *--version*::
- Output version information and exit.
+*--thumbnail*=_SIZE_::
+ Generate wide thumbnails for the first argument, in all sizes not exceeding
+ _SIZE_, and present the largest of them on the standard output
+ in an application-specific bitmap format. Available sizes follow directory
+ names in the _Thumbnail Managing Standard_.
-*--help-all*::
- Show the full list of options, including those provided by GTK+.
+*--thumbnail-for-search*=_SIZE_::
+ Transform the first argument to a widely supported image file format,
+ and present it on the standard output. The image will be downscaled as
+ necessary so as to not exceed _SIZE_ (see *--thumbnail*).
Reporting bugs
--------------
diff --git a/docs/fiv.html b/docs/fiv.html
index 5a9b918..72b1963 100644
--- a/docs/fiv.html
+++ b/docs/fiv.html
@@ -17,9 +17,9 @@ q:lang(en):after { content: "’"; }
p@janouch.name
version 0.0.0,
-2022-07-31
+2023-04-17
-
+
Controls should generally be accessible through the keyboard. Pressing Ctrl+? -will give you a convenient overview of all shortcuts. In addition to these, -remember that you may often use Ctrl+Tab and F6 to navigate to different groups -of widgets. +
Controls should generally be accessible through the keyboard. Pressing +Ctrl + ? will give you a convenient overview +of all shortcuts. In addition to these, remember that you may often use +Ctrl + Tab and F6 to navigate to +different groups of widgets.
fiv normally starts in a file browser view. On the left side of the window, you'll find your GTK+ bookmarks, mounted locations as recognized by -GVfs, an item for entering arbitrary filesystem paths or URIs, view controls, -and finally breadcrumbs leading to the currently opened directory, as well as -its descendants. +GVfs, an item for entering arbitrary filesystem paths or URIs, and finally +breadcrumbs leading to the currently opened directory, as well as descendants +of it. At the top, there is a toolbar with view controls. -
You can open items in a new window either by middle clicking on them either -directly, or with the Ctrl key pressed down. Right clicking the directory view -offers a context menu for opening files, or even the directory itself, -in a different application. +
You can open items in a new window either by middle clicking on them, or with +the left mouse button while holding the Ctrl key. +Right clicking the directory view offers a context menu for opening files, +or even the directory itself, in a different application.
The image viewer may be both entered (so long as you have a file selected) -and exited using the Enter key. This way you may easily switch between the two -modes. When using the mouse, the forwards and backwards buttons will fulfill -the same function. +and exited using the Enter key. This way you may easily switch +between the two modes. When using the mouse, the forwards and backwards buttons +will fulfill the same function.
Double clicking the image switches full-screen view, and the mouse wheel adjusts the zoom level. @@ -96,8 +97,8 @@ rm -rf ~/.cache/thumbnails/wide-*
The few configuration options fiv has can be adjusted using dconf-editor, which can be launched in the appropriate location from -within the application by pressing Ctrl+,. For command line usage, there is -the gsettings utility: +within the application by pressing Ctrl + ,. +For command line usage, there is the gsettings utility:
gsettings list-recursively name.janouch.fiv diff --git a/docs/stylesheet.css b/docs/stylesheet.css index b4b5b2d..daf49f9 100644 --- a/docs/stylesheet.css +++ b/docs/stylesheet.css @@ -5,4 +5,5 @@ h2 { padding-top: .67em; border-top: 1px solid silver; } p { line-height: 1.5; } .figure { text-align: center; } img { max-width: 100%; } q { font-style: normal; } .details { border-bottom: 1px solid silver; } .details br { display: none; } .details br + span:before { content: " — "; } -pre { padding: 0 1em; } +pre { padding: 0 1em; } kbd { border: solid #ccc; border-radius: .25em; + border-width: 1px 2px 2px 1px; padding: 0 .25em; font-family: inherit; } diff --git a/fiv.c b/fiv.c index d6beebf..d74bce3 100644 --- a/fiv.c +++ b/fiv.c @@ -2172,32 +2172,46 @@ main(int argc, char *argv[]) const GOptionEntry options[] = { {G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &args, NULL, "[PATH | URI]..."}, - {"list-supported-media-types", 0, G_OPTION_FLAG_IN_MAIN, - G_OPTION_ARG_NONE, &show_supported_media_types, - "Output supported media types and exit", NULL}, {"browse", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &browse, "Start in filesystem browsing mode", NULL}, - {"thumbnail-for-search", 0, G_OPTION_FLAG_IN_MAIN, - G_OPTION_ARG_STRING, &thumbnail_size_search, - "Output an image file suitable for searching by content", "SIZE"}, - {"extract-thumbnail", 0, G_OPTION_FLAG_IN_MAIN, - G_OPTION_ARG_NONE, &extract_thumbnail, - "Output any embedded thumbnail (superseding --thumbnail)", NULL}, - {"thumbnail", 0, G_OPTION_FLAG_IN_MAIN, - G_OPTION_ARG_STRING, &thumbnail_size, - "Generate thumbnails, up to SIZE, and output that size", "SIZE"}, {"invalidate-cache", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &invalidate_cache, "Invalidate the wide thumbnail cache", NULL}, + {"list-supported-media-types", 0, G_OPTION_FLAG_IN_MAIN, + G_OPTION_ARG_NONE, &show_supported_media_types, + "Output supported media types and exit", NULL}, {"version", 'V', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, &show_version, "Output version information and exit", NULL}, {}, }; + const GOptionEntry options_internal[] = { + {"extract-thumbnail", 0, 0, + G_OPTION_ARG_NONE, &extract_thumbnail, + "Output any embedded thumbnail (superseding --thumbnail)", NULL}, + {"thumbnail", 0, 0, + G_OPTION_ARG_STRING, &thumbnail_size, + "Generate thumbnails, up to SIZE, and output that size", "SIZE"}, + {"thumbnail-for-search", 0, 0, + G_OPTION_ARG_STRING, &thumbnail_size_search, + "Output an image file suitable for searching by content", "SIZE"}, + {}, + }; + + GOptionContext *context = + g_option_context_new(" - Image browser and viewer"); + g_option_context_add_group(context, gtk_get_option_group(TRUE)); + g_option_context_add_main_entries(context, options, NULL); + + GOptionGroup *internals = g_option_group_new( + "internal", "Internal Options:", "Show internal options", NULL, NULL); + g_option_group_add_entries(internals, options_internal); + g_option_context_add_group(context, internals); GError *error = NULL; - gboolean initialized = gtk_init_with_args( - &argc, &argv, " - Image browser and viewer", options, NULL, &error); + gboolean initialized = + g_option_context_parse(context, &argc, &argv, &error); + g_option_context_free(context); if (show_version) { const char *version = PROJECT_VERSION; printf("%s %s\n", PROJECT_NAME, &version[*version == 'v']); -- cgit v1.2.3-70-g09d2