From 84836e34fe06ff4b8f876cd41ac494c23ae9347e Mon Sep 17 00:00:00 2001 From: Colin Clark Date: Tue, 16 Nov 2021 12:35:35 +0000 Subject: [PATCH] Auto-generate the man page Auto-generate the man page and the Command Line Options section of the Help file Additionally: - exclude options not preceded by a hyphen from the --help output (but still process the option) - --help outputs both main and remote options - include only command line options in the man page - fix Lua Api Help file problem --- CHECKLIST.md | 6 + CODING.md | 24 +- README.md | 4 + doc/Makefile.am | 3 +- doc/docbook/CommandLineOptions.xml | 452 ++++++++++ doc/docbook/GuideReferenceCommandLine.xml | 411 +-------- geeqie.1 | 986 +++++----------------- scripts/generate-man-page.sh | 49 ++ src/main.c | 31 +- src/remote.c | 89 +- 10 files changed, 803 insertions(+), 1252 deletions(-) create mode 100644 doc/docbook/CommandLineOptions.xml create mode 100755 scripts/generate-man-page.sh diff --git a/CHECKLIST.md b/CHECKLIST.md index b386c585..b6b28d79 100644 --- a/CHECKLIST.md +++ b/CHECKLIST.md @@ -19,6 +19,12 @@ make update-po ``` After compiling the sources, carry out the following actions when necessary: +* Update the man page and Command Line Options section in Help +```sh +./scripts/generate-man-page.sh +``` + +* Commit the changes * Generate a new AppImage (note that this should be run on a **20.04 system**) ```sh diff --git a/CODING.md b/CODING.md index 9e6bec02..d19eb0e5 100644 --- a/CODING.md +++ b/CODING.md @@ -216,6 +216,10 @@ align-pointer=name align-reference=name ``` +### check-compiles.sh + +This shell script is part of the Geeqie project and will compile Geeqie with various options. + ### cppcheck A lint-style program may be used, e.g. @@ -233,12 +237,14 @@ unusedFunction unmatchedSuppression ``` -### shellcheck +### generate-man-page.sh -Shell scripts may also be validated, e.g. +This script is part of the Geeqie project and should be used to generate the Geeqie man page from Geeqie's command line +help output and also update the Command Line Options section of the Help files. +The programs help2man and doclifter are required - both are available as .deb packages. ```sh -shellcheck --enable=add-default-case,avoid-nullary-conditions,check-unassigned-uppercase,deprecate-which,quote-safe-variables +./scripts/generate-man-page.sh ``` ### markdownlint @@ -255,13 +261,17 @@ rule 'MD010', :code_blocks => true exclude_rule 'MD013' ``` -### xmllint +### shellcheck -The .xml Help files may be validated with e.g. `xmllint`. +Shell scripts may also be validated, e.g. -### check-compiles.sh +```sh +shellcheck --enable=add-default-case,avoid-nullary-conditions,check-unassigned-uppercase,deprecate-which,quote-safe-variables +``` -This shell script is part of the Geeqie project and will compile Geeqie with various options. +### xmllint + +The .xml Help files may be validated with e.g. `xmllint`. --- diff --git a/README.md b/README.md index 6c09b12a..7897ab10 100644 --- a/README.md +++ b/README.md @@ -286,6 +286,10 @@ And either the ChangeLog file or [Geeqie ChangeLog](http://geeqie.org/cgi-bin/gi yelp-tools For creating the Help files + help2man + doclifter + For creating the man pages and some Help files + ### Code hackers: If you plan on making any major changes to the code that will be offered for diff --git a/doc/Makefile.am b/doc/Makefile.am index a09a809b..c833fac8 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -20,7 +20,8 @@ install-data-hook: html cd $(srcdir)/html; for f in * ; do $(INSTALL_DATA) "$$f" "$(DESTDIR)$(helpdir)/$$f" ; done; \ ln -s -f GuideIndex.html "$(DESTDIR)$(helpdir)/index.html" ; \ $(MKDIR_P) "$(DESTDIR)$(helpdir)/lua-api" || exit 1; \ - cd ./lua-api/html; for f in * ; do $(INSTALL_DATA) "$$f" "$(DESTDIR)$(helpdir)/lua-api/$$f" ; done; \ + $(MKDIR_P) "$(DESTDIR)$(helpdir)/lua-api/html" || exit 1; \ + cd ./lua-api/html; for f in * ; do $(INSTALL_DATA) "$$f" "$(DESTDIR)$(helpdir)/lua-api/html/$$f" ; done; \ fi uninstall-hook: diff --git a/doc/docbook/CommandLineOptions.xml b/doc/docbook/CommandLineOptions.xml new file mode 100644 index 00000000..04dd0fac --- /dev/null +++ b/doc/docbook/CommandLineOptions.xml @@ -0,0 +1,452 @@ + + + + + + +GEEQIE +1 +November 2021 +Geeqie 1.6+git20211107-31197b3d GTK3 + + +Geeqie +GTK based multiformat image viewer + + + + + geeqie + options + path + + + + +DESCRIPTION +Geeqie is an interactive GTK based image viewer that supports multiple image formats, +zooming, panning, thumbnails and sorting images into collections. + +Generated for version: + +Geeqie 1.6+git20211107-31197b3d + +Valid options: + + + --blank + +start with blank file list + + + + --cache-maintenance <path> + +run cache maintenance in non-GUI mode + + + + --disable-clutter + +disable use of Clutter library (i.e. GPU accel.) + + + + -f, --fullscreen + +start in full screen mode + + + + --geometry=WxH+XOFF+YOFF + +set main window location + + + + -h, --help + +show this message + + + + +-l, --list [files] [collections] open collection window for command line + + + -n, --new-instance + +open a new instance of Geeqie + + + + -o:, --log-file:<file> + +save log data to file + + + + -r, --remote + +send following commands to open window + + + + -rh, --remote-help + +print remote command list + + + + -s, --slideshow + +start in slideshow mode + + + + +t, --with-tools + +force show of tools + + + + -t, --without-tools + +force hide of tools + + + + -v, --version + +print version info + + + + +w, --show-log-window + +show log window + + + + --debug[=level] + +turn on debug output + + + + -g:, --grep:<regexp> + +filter debug output + + + + + +Remote command list: + + + -b --back + +previous image + + + + --close-window + +close window + + + + --config-load: <FILE>|layout ID + +load configuration from FILE + + + + -cm --cache-metadata + +clean the metadata cache + + + + -cr: --cache-render:<folder> + +render thumbnails + + + + -crr: --cache-render-recurse:<folder> + +render thumbnails recursively + + + + -crs: --cache-render-shared:<folder> + +render thumbnails (see Help) + + + + -crsr: --cache-render-shared-recurse:<folder> + +render thumbnails recursively (see Help) + + + + -cs: --cache-shared:clear|clean + +clear or clean shared thumbnail cache + + + + -ct: --cache-thumbs:clear|clean + +clear or clean thumbnail cache + + + + -d --delay=<[H:][M:][N][.M]> + +set slide show delay to Hrs Mins N.M seconds + + + + --first + +first image + + + + -f --fullscreen + +toggle full screen + + + + --file:<FILE>|<URL> + +open FILE or URL, bring Geeqie window to the top + + + + --File:<FILE>|<URL> + +open FILE or URL, do not bring Geeqie window to the top + + + + -fs --fullscreen-start + +start full screen + + + + -fS --fullscreen-stop + +stop full screen + + + + --geometry=<GEOMETRY> + +set window geometry + + + + --get-collection:<COLLECTION> + +get collection content + + + + --get-collection-list + +get collection list + + + + --get-destination:<FILE> + +get destination path of FILE (See Plugins Configuration) + + + + --get-file-info + +get file info + + + + --get-filelist:[<FOLDER>] + +get list of files and class + + + + --get-filelist-recurse:[<FOLDER>] + +get list of files and class recursive + + + + --get-rectangle + +get rectangle co-ordinates + + + + --get-render-intent + +get render intent + + + + --get-sidecars:<FILE> + +get list of sidecars of FILE + + + + --id:<ID> + +window id for following commands + + + + --last + +last image + + + + --list-add:<FILE> + +add FILE to command line collection list + + + + --list-clear + +clear command line collection list + + + + --lua:<FILE>,<lua script> + +run lua script on FILE + + + + --new-window + +new window + + + + -n --next + +next image + + + + --pixel-info + +print pixel info of mouse pointer on current image + + + + --print0 + +terminate returned data with null character instead of newline + + + + --PWD:<PWD> + +use PWD as working directory for following commands + + + + -q --quit + +quit + + + + --raise + +bring the Geeqie window to the top + + + + -s --slideshow + +toggle slide show + + + + --slideshow-recurse:<FOLDER> + +start recursive slide show in FOLDER + + + + -ss --slideshow-start + +start slide show + + + + -sS --slideshow-stop + +stop slide show + + + + --tell + +print filename [and Collection] of current image + + + + +t --tools-show + +show tools + + + + -t --tools-hide + +hide tools + + + + --view:<FILE> + +open FILE in new window + +All other command line parameters are used as plain files if they exist. + +The name of a collection, with or without either path or extension (.gqv) may be used. + + + + + + +BUGS +Please send bug reports and feedback to https://github.com/BestImageViewer/geeqie/issues + + +COPYRIGHT +Copyright (C) 1999-2004 by John Ellis. Copyright (C) 2004-2021 by The Geeqie Team. Use this software at your +own risk! This software released under the GNU General Public License. Please read the COPYING file for more +information. + + +SEE ALSO +Full documentation: https://www.geeqie.org/help/GuideIndex.html + + + diff --git a/doc/docbook/GuideReferenceCommandLine.xml b/doc/docbook/GuideReferenceCommandLine.xml index 6dda1b90..5fdf575f 100644 --- a/doc/docbook/GuideReferenceCommandLine.xml +++ b/doc/docbook/GuideReferenceCommandLine.xml @@ -2,415 +2,6 @@
Command Line Options - Geeqie is called by the command: - - geeqie [options] [path_to_file_or_collection] - The name of a collection, with or without either path or extension (.gqv) may be used. If a path is not used and there is a name conflict with a file or folder, that will take precedence. - + - You may also use a URL as a filename. The file will be downloaded to a temporary file and displayed. - These are the command line options available to Geeqie: - - - - - Short Option - Long Option - Description - - - - - +t - --with-tools - Show file list, menu, and statusbar. - - - -t - --without-tools - Hide file list, menu, and statusbar. Window contains image only. - - - -f - --fullscreen - Start up in fullscreen. - - - -s - --slideshow - Start up in slideshow mode. - - - -l [filelist] [collectionlist] - --list [filelist] [collectionlist] - Open collection window containing images specified on the command line. Any collections on the command line will also be appended to this collection. - - - - --blank - Start with file list blank. - - - - --geometry=<w>x<h>+<x>+<y> - Set the <width> <height> <xoffset> <yoffset> of the window. The parameters are in pixels. - - - -n - --new-instance - Open a new instance of Geeqie. - - - -r - --remote - Send command line options to existing Geeqie process. - - - -rh - --remote-help - List command line options available to --remote. - - - -h - --help - Display brief command line option list. - - - -v - --version - Display version of Geeqie. - - - - --debug[=<level>] - Turn on debugging output (when compiled with Debug enabled). <level> is 0 to 4. - - - -g:<regexp> - --grep:<regexp> - Filter debug output with regular expression - - - +w - --show-log-window - Display log window - - - -o:<file> - --log-file:<file> - Save log data to file - - - - --alternate - Use alternate similarity algorithm - experimental - requires re-compile. - - - - --disable-clutter - Disable use of Clutter library (i.e. GPU accel.). If the Clutter library is compiled into Geeqie but Clutter fails to initialize, it is necessary to start Geeqie with this option. - - - - --cache-maintenance <path> - - Run cache maintenance - - Cache Maintenance. - - in non-GUI mode. - - - - -
- -
- Remote commands - The --remote command line option will send all entered commands to an existing Geeqie process, a new process will be started if one does not exist. These are the additional commands that can be used with the remote command: - - - - - Short Option - Long Option - Description - - - - - -n - --next - Change main window to display next image. - - - -b - --back - Change main window to display previous image. - - - - --first - Change main window to display first image. - - - - --last - Change main window to display last image. - - - -f - --fullscreen - Toggle full screen mode of the main window. - - - -fs - --fullscreen-start - Start full screen mode for main window. - - - -fS - --fullscreen-stop - Stop full screen mode for main window. - - - -s - --slideshow - Toggle slide show for main window. - - - -ss - --slideshow-start - Start slide show for main window. - - - -sS - --slideshow-stop - Stop slide show for main window. - - - - --slideshow-recurse:<folder> - Start recursive slide show for <folder> in main window. - - - -d<[h:][m:][n][.m]> - --delay=<[h:][m:][n][.m]> - Set slide show delay to <[hrs:][mins:][n][.m]> seconds, range is 0.1 secs to 24 hours - - - +t - --tools-show - Show tools for main window. - - - -t - --tools-hide - Hide tools for main window. - - - -q - --quit - Quit Geeqie. - - - - --config-load:<file>|layout ID - Load configuration from <file>. Use either a full path, or a saved window layout ID. - - - - --get-sidecars:<file> - Get list of sidecars of <file>. - - - - --get-destination:<file> - Get destination path of <file>. This is used by the symlink desktop file to implement the symbolic link operation. There is no useful function for the user. - - - - file:<file>|<URL> - Open <file> or <URL> and bring Geeqie window to the top - - - - --file:<file>|<URL> - Open <file> or <URL> and bring Geeqie window to the top - - - - File:<file>|<URL> - Open <file> or <URL> and do not bring Geeqie window to the top - - - - --File:<file>|<URL> - Open <file> or <URL> and do not bring Geeqie window to the top - - - - --tell - Print filename [and Collection] of current image - - - - --pixel-info - Print X, Y and RGB of mouse pointer on current image - - - - --get-rectangle - Get rectangle coordinates - - - - --get-render-intent - Get render intent - - - - --get-filelist:[<FOLDER>] - Get list of files and class - - - - --get-filelist-recurse:[<FOLDER>] - Get list of files and class recursive - - - - --get-collection:<COLLECTION> - Get collection content - - - - --get-collection-list - Get collection list - - - - --get-file-info - - Get file info - - File info consists of: class, no. of pages (if multi-page image), (and if exif exists) country name, country code, timezone, local time. - - - - - - view:<file> - Open new window containing <file> - - - - --view:<file> - Open new window containing <file> - - - - --list-clear - Clear command line collection list - - - - --list-add:<file> - Add <file> to command line collection list - - - - raise - Bring the geeqie window to the top - - - - --raise - Bring the geeqie window to the top - - - - --id:<ID> - - Window ID for following commands - - The ID is shown in the titlebar of the window. If multiple windows are open, it can be used to direct commands to a particular window e.g. --remote --id:main --tell - - - - - - --new-window - Open new window - - - - --close-window - Close window - - - - --geometry=[<w>x<h>][+<x>+<y>] - Set the <width> <height> <xoffset> <yoffset> of the window. The parameters are in pixels. - - - -ct:clear|clean - --cache-thumbs:clear|clean - clear or clean thumbnail cache - - - -cs:clear|clean - --cache-shared:clear|clean - clear or clean shared thumbnail cache - - - -cm - --cache-metadata - clean the metadata cache - - - -cr:<folder> - --cache-render:<folder> - render thumbnails - - - -crr:<folder> - --cache-render-recurse:<folder> - render thumbnails recursively - - - -crs:<folder> - --cache-render-shared:<folder> - - render thumbnails - - If standard thumbnail cache is not enabled, this command will be ignored. - - - - - -crsr:<folder> - --cache-render-shared-recurse:<folder> - render thumbnails recursively - - - - --lua:<file>,<lua script> - run lua script on file - - - - --PWD:<PWD> - Use PWD as working directory for following commands - - - - --print0 - Terminate returned data with null character instead of newline - - - -
- -
diff --git a/geeqie.1 b/geeqie.1 index 6231ad40..a041f11f 100644 --- a/geeqie.1 +++ b/geeqie.1 @@ -1,782 +1,222 @@ -.\"Created with GNOME Manpages Editor -.\"http://gmanedit.sourceforge.net -.\"Sergio Rua -.\" -.\" -.\" Geeqie manual page. -.\" (C)2004 John Ellis -.\" -.\" This document is free to modify and distribute. -.\" -.TH geeqie 1 "Geeqie" - +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4. +.TH GEEQIE "1" "November 2021" "Geeqie 1.6+git20211107-31197b3d GTK3" "User Commands" .SH NAME -Geeqie \- GTK based multiformat image viewer +Geeqie - GTK based multiformat image viewer .SH SYNOPSIS .B geeqie -.RI [ options ] -.RI [ path ] -.br - +[\fI\,options\/\fR] [\fI\,path\/\fR] .SH DESCRIPTION -\fBGeeqie\fP is an interactive GTK based image viewer that supports multiple image formats, zooming, panning, thumbnails and sorting images into collections. - -.SH OPTIONS -.B -.IP \+t,\-\-with\-tools -Force the toolbox to be shown. -.br -.B -.IP \-t,\-\-without\-tools -Force the toolbox to be hidden. -.br -.B -.IP \-f,\-\-fullscreen -Start in full screen mode. -.br -.B -.IP \-s,\-\-slideshow -Start in slideshow mode. -.br -.B -.IP \-l,\-\-list[files...][collections...] -Open collection window for command line files. -.br -.B -.IP \-\-blank -Start with blank file list. -.br -.B -.IP \-\-geometry=XxY+XOFF+YOFF -Set main window location. -.br -.B -.IP \-n,\-\-new-instance -Open a new instance of Geeqie. -.br -.B -.IP \-r,\-\-remote -Send following commands to open window. -.br -.B -.IP \-rh,\-\-remote-help -Print remote command list. -.br -.B -.IP \-\-debug[=level] -Turn on debugging output. -.br -.B -.IP \-g:,\-\-grep: -Filter debug output. -.br -.B -.IP \+w,\-\-show-log-window -Show log window. -.br -.B -.IP \-o:,\-\-log-file: -Save log data to FILE. -.br -.B -.IP \-v,\-\-version -Print version. -.br -.B -.IP \-h,\-\-help -Print command line options. -.br -.B -.IP \-\-disable-clutter -Disable use of Clutter library (i.e. GPU accel.). -.br -.B -.IP \-\-cache-maintenance\ -Run cache maintenance in non-GUI mode. - -.SH REMOTE OPTIONS -.B -.IP \-n,\-\-next -Next image. -.br -.B -.IP \-b,\-\-back -Previous image. -.br -.B -.IP \-\-first -First image. -.br -.B -.IP \-\-last -Last image. -.br -.B -.IP \-f,\-\-fullscreen -Toggle full screen. -.br -.B -.IP \-fs,\-\-fullscreen-start -Start full screen. -.br -.B -.IP \-fS,\-\-fullscreen-stop -Stop full screen. -.br -.B -.IP \-s,\-\-slideshow -Toggle slideshow. -.br -.B -.IP \-ss,\-\-slideshow-start -Start slideshow. -.br -.B -.IP \-sS,\-\-slideshow-stop -Stop slideshow. -.br -.B -.IP \-\-slideshow-recurse: -Start recursive slide show in FOLDER. -.br -.B -.IP \-d<[HRS:][MINS:][N][.M]>,\-\-delay=<[hrs:][mins][N][.M]> -Set slide show delay to Hrs Mins N.M seconds. -.br -.B -.IP \+t,\-\-tools-show -Show tools. -.br -.B -.IP \-t,\-\-tools-hide -Hide tools. -.br -.B -.IP \-q,\-\-quit -Quit. -.br -.B -.IP \-\-config-load:|layout\ ID -Load configuration from FILE. -.br -.B -.IP \-\-get-sidecars: -Get list of sidecars of FILE. -.br -.B -.IP \-\-get-destination: -Get destination path of FILE. -.br -.B -.IP file:| -Open FILE or URL, bring Geeqie window to the top. -.br -.B -.IP \-\-file:| -Open FILE or URL, bring Geeqie window to the top. -.br -.B -.IP File:| -Open FILE or URL, do not bring Geeqie window to the top. -.br -.B -.IP \-\-File:| -Open FILE or URL, do not bring Geeqie window to the top. -.br -.B -.IP \-\-tell -Print filename [and Collection] of current image. -.br -.B -.IP \-\-pixel\-info -Print X, Y and RGB of mouse pointer on current image. -.br -.B -.IP \-\-get\-rectangle -Get rectangle co-ordinates. -.br -.B -.IP \-\-get\-render\-intent -Get render intent. -.br -.B -.IP \-\-get\-filelist:[] -Get list of files and class. -.br -.B -.IP \-\-get\-filelist-recurse:[] -Get list of file and class recursive. -.br -.B -.IP \-\-get\-collection: -Get collection content. -.br -.B -.IP \-\-get\-collection\-list -Get collection list. -.br -.B -.IP \-\-get\-file\-info -Get file info. -.br -.B -.IP view: -Open FILE in new window. -.br -.B -.IP \-\-view: -Open FILE in new window. -.br -.B -.IP \-\-list-clear -Clear command line collection list. -.br -.B -.IP \-\-list-add: -Add FILE to command line collection list. -.br -.B -.IP raise -Bring the Geeqie window to the top. -.br -.B -.IP \-\-raise -Bring the Geeqie window to the top. -.br -.B -.IP \-\-id: -Window ID for following commands. -.br -.B -.IP \-\-new-window -Open new window. -.br -.B -.IP \-\-close-window -Close window. -.br -.B -.IP \-\-geometry=[XxY][+XOFF+YOFF] -Set window geometry. -.br -.B -.IP \-ct:clear|clean,\-\-cache-thumbs:clear|clean -Clear or clean thumbnail cache. -.br -.B -.IP \-cs:clear|clean,\-\-cache-shared:clear|clean -Clear or clean shared thumbnail cache. -.br -.B -.IP \-cm,\-\-cache-metadata -Clean metadata cache. -.br -.B -.IP \-cr:,\-\-cache-render: -Render thumbnails. -.br -.B -.IP \-crr:,\-\-cache-render-recurse: -Render thumbnails recursively. -.br -.B -.IP \-crs:,\-\-cache-render-shared: -Render thumbnails (see Help). -.br -.B -.IP \-crsr:,\-\-cache-render-shared-recurse: -Render thumbnails recursively (see Help). -.br -.B -.IP \-\-lua:, -Run lua script on FILE. -.br -.B -.IP \-\-PWD: -Use PWD as working directory for following commands. -.br -.B -.IP \-\-print0 -Terminate returned data with null character instead of newline. -.br - -.SH USAGE -Key naming is similar to that of \fBemacs\fP(1): \fIC-key\fP indicates that control should be held, and key should be pressed; \fIS-key\fP indicates that shift should be held and key should be pressed; these two can be combined, also, into \fIC-S-key\fP. -.B -.IP left-mouse-click -(on image) next image -.br -.B -.IP middle-mouse-click -(on image) previous image -.br -.B -.IP right-mouse -context menu -.br -.B -.IP middle-mouse-drag -drag and drop operations -.br -.B -.IP mouse-wheel -(on image) Changes to the next or previous image, or if option is enabled, scrolls the image vertically. -.br -.B -.IP mouse-wheel+Shift-key -(on image) Inverts the mouse wheel behavior between scrolling image or changing image. -.br -.B -.IP mouse-wheel+Control-key -(on image) Zooms the image in and out. -.br -.SS GENERAL KEYS -.B -.IP PageDown -next image -.br -.B -.IP PageUp -previous image -.br -.B -.IP Home -first image in list -.br -.B -.IP End -last image in list -.br -.B -.IP Tab -tab completion in path entry window -.br -.B -.IP Escape -cancel completion in path entry window or stop generating thumbnails -.br -.SS IMAGE KEYS -Keys that are valid when the image part of the window is focused. -.B -.IP Arrows -pan image -.br -.B -.IP Shift+Arrows -pan image faster -.br -.B -.IP Space,N -next image -.br -.B -.IP Backspace,B +Geeqie is an interactive GTK based image viewer that supports multiple image formats, +zooming, panning, thumbnails and sorting images into collections. + +Generated for version: +.PP +Geeqie 1.6+git20211107\-31197b3d +.SS "Valid options:" +.TP +\fB\-\-blank\fR +start with blank file list +.TP +\fB\-\-cache\-maintenance\fR +run cache maintenance in non\-GUI mode +.TP +\fB\-\-disable\-clutter\fR +disable use of Clutter library (i.e. GPU accel.) +.TP +\fB\-f\fR, \fB\-\-fullscreen\fR +start in full screen mode +.TP +\fB\-\-geometry\fR=\fI\,WxH\/\fR+XOFF+YOFF +set main window location +.TP +\fB\-h\fR, \fB\-\-help\fR +show this message +.HP +\fB\-l\fR, \fB\-\-list\fR [files] [collections] open collection window for command line +.TP +\fB\-n\fR, \fB\-\-new\-instance\fR +open a new instance of Geeqie +.TP +\fB\-o\fR:, \fB\-\-log\-file\fR: +save log data to file +.TP +\fB\-r\fR, \fB\-\-remote\fR +send following commands to open window +.TP +\fB\-rh\fR, \fB\-\-remote\-help\fR +print remote command list +.TP +\fB\-s\fR, \fB\-\-slideshow\fR +start in slideshow mode +.TP ++t, \fB\-\-with\-tools\fR +force show of tools +.TP +\fB\-t\fR, \fB\-\-without\-tools\fR +force hide of tools +.TP +\fB\-v\fR, \fB\-\-version\fR +print version info +.TP ++w, \fB\-\-show\-log\-window\fR +show log window +.TP +\fB\-\-debug\fR[=\fI\,level\/\fR] +turn on debug output +.TP +\fB\-g\fR:, \fB\-\-grep\fR: +filter debug output +.SS "Remote command list:" +.TP +\fB\-b\fR \fB\-\-back\fR previous image -.br -.SS FILE RELATED KEYS -.B -.IP C -new empty collection -.br -.B -.IP O -open collection -.br -.B -.IP D -open the Find Duplicates window -.br -.B -.IP C-F -new folder -.br -.B -.IP C-C -copy file -.br -.B -.IP C-M -move file -.br -.B -.IP C-R -rename file -.br -.B -.IP C-D,Delete -delete file -.br -.B -.IP C-N -new window -.br -.B -.IP C-W +.TP +\fB\-\-close\-window\fR close window -.br -.B -.IP C-Q +.TP +\fB\-\-config\-load\fR: |layout ID +load configuration from FILE +.TP +\fB\-cm\fR \fB\-\-cache\-metadata\fR +clean the metadata cache +.TP +\fB\-cr\fR: \fB\-\-cache\-render\fR: +render thumbnails +.TP +\fB\-crr\fR: \fB\-\-cache\-render\-recurse\fR: +render thumbnails recursively +.TP +\fB\-crs\fR: \fB\-\-cache\-render\-shared\fR: +render thumbnails (see Help) +.TP +\fB\-crsr\fR: \fB\-\-cache\-render\-shared\-recurse\fR: +render thumbnails recursively (see Help) +.TP +\fB\-cs\fR: \fB\-\-cache\-shared\fR:clear|clean +clear or clean shared thumbnail cache +.TP +\fB\-ct\fR: \fB\-\-cache\-thumbs\fR:clear|clean +clear or clean thumbnail cache +.TP +\fB\-d\fR \fB\-\-delay=\fR<[H:][M:][N][.M]> +set slide show delay to Hrs Mins N.M seconds +.TP +\fB\-\-first\fR +first image +.TP +\fB\-f\fR \fB\-\-fullscreen\fR +toggle full screen +.TP +\fB\-\-file\fR:| +open FILE or URL, bring Geeqie window to the top +.TP +\fB\-\-File\fR:| +open FILE or URL, do not bring Geeqie window to the top +.TP +\fB\-fs\fR \fB\-\-fullscreen\-start\fR +start full screen +.TP +\fB\-fS\fR \fB\-\-fullscreen\-stop\fR +stop full screen +.TP +\fB\-\-geometry=\fR +set window geometry +.TP +\fB\-\-get\-collection\fR: +get collection content +.TP +\fB\-\-get\-collection\-list\fR +get collection list +.TP +\fB\-\-get\-destination\fR: +get destination path of FILE (See Plugins Configuration) +.TP +\fB\-\-get\-file\-info\fR +get file info +.TP +\fB\-\-get\-filelist\fR:[] +get list of files and class +.TP +\fB\-\-get\-filelist\-recurse\fR:[] +get list of files and class recursive +.TP +\fB\-\-get\-rectangle\fR +get rectangle co\-ordinates +.TP +\fB\-\-get\-render\-intent\fR +get render intent +.TP +\fB\-\-get\-sidecars\fR: +get list of sidecars of FILE +.TP +\fB\-\-id\fR: +window id for following commands +.TP +\fB\-\-last\fR +last image +.TP +\fB\-\-list\-add\fR: +add FILE to command line collection list +.TP +\fB\-\-list\-clear\fR +clear command line collection list +.TP +\fB\-\-lua\fR:, +run lua script on FILE +.TP +\fB\-\-new\-window\fR +new window +.TP +\fB\-n\fR \fB\-\-next\fR +next image +.TP +\fB\-\-pixel\-info\fR +print pixel info of mouse pointer on current image +.TP +\fB\-\-print0\fR +terminate returned data with null character instead of newline +.TP +\fB\-\-PWD\fR: +use PWD as working directory for following commands +.TP +\fB\-q\fR \fB\-\-quit\fR quit -.br -.SS EDIT MENU RELATED KEYS -.B -.IP C-1,2..9,0 -run external editor -.br -.B -.IP C-A -select all files -.br -.B -.IP C-S-A -unselect all files -.br -.B -.IP C-O -go to the Configuration window -.br -.B -.IP C-P -display image properties -.br -.B -.IP ] -rotate image clockwise -.br -.B -.IP [ -rotate image counterclockwise -.br -.B -.IP S-R -rotate image 180 degrees -.br -.B -.IP S-M -mirror image (horizontal) -.br -.B -.IP S-F -flip image (vertical) -.br -.SS VIEW MENU RELATED KEYS -.B -.IP +,= -zoom in -.br -.B -.IP - -zoom out -.br -.B -.IP Z,KeyPad-/ -zoom to original size -.br -.B -.IP X,KeyPad-* -zoom to fit window -.br -.B -.IP 1,2,3,4 -zoom in to X scale factor -.br -.B -.IP 9,8,7 -zoom to \-2, \-3, \-4, respectively -.br -.B -.IP T -toggle thumbnail display -.br -.B -.IP C-L -display files in list format -.br -.B -.IP C-I -display files in icon format -.br -.B -.IP C-T -toggle tree view for directories -.br -.B -.IP R -refresh file list -.br -.B -.IP L -toggle floating of file selection area -.br -.B -.IP H -toggle hiding of file selection area -.br -.B -.IP F,V -toggle full-screen mode -.br -.B -.IP S -toggle slide-show mode -.br -.B -.IP P -toggle pause of slideshow -.br -.B -.IP C-E -toggle display of exif sidebar -.br -.B -.IP C-S -toggle display of sort manager -.br -.SS COLLECTION WINDOW KEYS -.B -.IP Arrows -move selection -.br -.B -.IP Shift+Arrows -select multiple images -.br -.B -.IP Control+Arrows -move selector without changing selection -.br -.B -.IP Space -select the image under the selector -.br -.B -.IP Control+Space -toggle selection of the image under the selector -.br -.B -.IP Home -move selector to the top image -.br -.B -.IP End -move selector to bottom image -.br -Adding Shift or Control to Home and End has a similar effect as adding them to the arrows. -.B -.IP C-A -select all images -.br -.B -.IP C-S-A -unselect all images -.br -.B -.IP Delete -remove image form collection (does not delete the file) -.br -.B -.IP C-L -add images to collection form main file list -.br -.B -.IP N -sort collection by name -.br -.B -.IP D -sort collection by date -.br -.B -.IP B -sort collection by file size -.br -.B -.IP P -sort collection by pathname -.br -.B -.IP I -sort collection by name numerically (*) -.br -.B -.IP Enter -view image under selector in the main image window -.br -.B -.IP V -view image under selector in new window -.br -.B -.IP C-1,2..9,0 -open selected image(s) in external editor -.br -.B -.IP S -save collection -.br -.B -.IP C-S -save collection as -.br -.B -.IP A -append current collection to existing collection -.br -.B -.IP C-C -copy selected files -.br -.B -.IP C-M -move selected files -.br -.B -.IP C-R -rename selected files -.br -.B -.IP C-D -delete selected files -.br -.B -.IP C-W -close window -.br -.SS DUPLICATES WINDOW KEYS -.B -.IP C-A -select all images -.br -.B -.IP C-S-A -unselect all images -.br -.B -.IP 1 -select group 1 images -.br -.B -.IP 2 -select group 2 images -.br -.B -.IP C-L -add images from main window file list -.br -.B -.IP C -add selected images to new collection -.br -.B -.IP Delete -remove selected images from list -.br -.B -.IP C-Delete -clear window -.br -.B -.IP Enter -view image with focus in main window -.br -.B -.IP V -view image with focus in new window -.br -.B -.IP C-1,2..9,0 -open selected image(s) in editor -.br -.B -.IP C-P -display properties window for selected images -.br -.B -.IP C-C -copy selected files -.br -.B -.IP C-M -move selected files -.br -.B -.IP C-R -rename selected files -.br -.B -.IP C-D -delete selected files -.br -.B -.IP C-W -close window -.br - -.SH FILES -The following data lists the locations Geeqie uses for various actions. The -uppercase symbols are environment variables. If they are not set on your system -the fallback locations are listed in parentheses. Geeqie will first attempt to -load a configuration file from: - -.B /etc/geeqie/geeqierc.xml - -It will then continue with the following locations. -Most of Geeqie's configuration files are contained in the folder, and sub-folders of: - -.B $XDG_CONFIG_HOME/geeqie/ -.B (~/.config/geeqie/) - -Geeqie's standard configuration file is: - -.B .../geeqierc.xml - -An alternative configuration file may be used by executing: - -.B geeqie -r --config-load: - -Geeqie-created desktop files used by Plugins are in the folder: - -.B .../applications - -Lua script files for Lua Extensions are in the folder: - -.B .../lua - -Historic data such as last several folders visited, bookmarks, and recently used collections, as well as default print settings are contained in this text file: - -.B .../history - -Keyboard shortcut maps are contained in this text file: - -.B .../accels - -The location for Collections is in the folder: - -.B $XDG_DATA_HOME/geeqie/collections -.br -.B (~/.local/share/geeqie/collections) - -The lirc Infra-red controller configuration file must be located at: - -.B $HOME/.lircrc - -Thumbnails are stored in a location specified in Thumbnail Preferences - -Metadata is stored either in the image file or in the location specified in Safe Delete - -The safe delete folder is specified in the Metadata tab of main Preferences - -.SH LICENSE -Copyright (C) 1999-2004 by John Ellis. -Copyright (C) 2004-2017 by The Geeqie Team. -Use this software at your own risk! -This software released under the GNU General Public License. Please read the COPYING file for more information. +.TP +\fB\-\-raise\fR +bring the Geeqie window to the top +.TP +\fB\-s\fR \fB\-\-slideshow\fR +toggle slide show +.TP +\fB\-\-slideshow\-recurse\fR: +start recursive slide show in FOLDER +.TP +\fB\-ss\fR \fB\-\-slideshow\-start\fR +start slide show +.TP +\fB\-sS\fR \fB\-\-slideshow\-stop\fR +stop slide show +.TP +\fB\-\-tell\fR +print filename [and Collection] of current image +.TP ++t \fB\-\-tools\-show\fR +show tools +.TP +\fB\-t\fR \fB\-\-tools\-hide\fR +hide tools +.TP +\fB\-\-view\fR: +open FILE in new window +.IP +All other command line parameters are used as plain files if they exist. +.IP +The name of a collection, with or without either path or extension (.gqv) may be used. .SH BUGS Please send bug reports and feedback to https://github.com/BestImageViewer/geeqie/issues -.SH AUTHOR -.B John Ellis - -.br -Manpage originally prepared by -.B Nick Rusnov - +.SH COPYRIGHT +Copyright (C) 1999-2004 by John Ellis. Copyright (C) 2004-2021 by The Geeqie Team. Use this software at your +own risk! This software released under the GNU General Public License. Please read the COPYING file for more +information. +.SH "SEE ALSO" +Full documentation: https://www.geeqie.org/help/GuideIndex.html diff --git a/scripts/generate-man-page.sh b/scripts/generate-man-page.sh new file mode 100755 index 00000000..c5f6c2da --- /dev/null +++ b/scripts/generate-man-page.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# Create the man page from the output of the "geeqie--help" command +# and also create the xml file for Command Line Options +# +# This needs to be run only when the command line options change + +command -v help2man > /dev/null +if [ $? -eq 1 ] +then + echo "help2man not installed" + exit +fi + +command -v doclifter > /dev/null +if [ $? -eq 1 ] +then + echo "doclifter not installed" + exit +fi + +options_file=$(mktemp) + +echo "[NAME] +Geeqie - GTK based multiformat image viewer + +[DESCRIPTION] +Geeqie is an interactive GTK based image viewer that supports multiple image formats, +zooming, panning, thumbnails and sorting images into collections. + +Generated for version: + +[SEE ALSO] +Full documentation: https://www.geeqie.org/help/GuideIndex.html + +[BUGS] +Please send bug reports and feedback to https://github.com/BestImageViewer/geeqie/issues + +[COPYRIGHT] +Copyright (C) 1999-2004 by John Ellis. Copyright (C) 2004-2021 by The Geeqie Team. Use this software at your +own risk! This software released under the GNU General Public License. Please read the COPYING file for more +information." > "$options_file" + + +help2man --no-info --include="$options_file" src/geeqie > geeqie.1 + +doclifter geeqie.1 +mv geeqie.1.xml doc/docbook/CommandLineOptions.xml + +rm "$options_file" diff --git a/src/main.c b/src/main.c index 0e4815a4..c5026be7 100644 --- a/src/main.c +++ b/src/main.c @@ -591,33 +591,36 @@ static void parse_command_line(gint argc, gchar *argv[]) { printf_term(FALSE, "%s %s\n", GQ_APPNAME, VERSION); printf_term(FALSE, _("Usage: %s [options] [path]\n\n"), GQ_APPNAME_LC); - print_term(FALSE, _("valid options are:\n")); - print_term(FALSE, _(" +t, --with-tools force show of tools\n")); - print_term(FALSE, _(" -t, --without-tools force hide of tools\n")); + print_term(FALSE, _("Valid options:\n")); + print_term(FALSE, _(" --blank start with blank file list\n")); + print_term(FALSE, _(" --cache-maintenance run cache maintenance in non-GUI mode\n")); + print_term(FALSE, _(" --disable-clutter disable use of Clutter library (i.e. GPU accel.)\n")); print_term(FALSE, _(" -f, --fullscreen start in full screen mode\n")); - print_term(FALSE, _(" -s, --slideshow start in slideshow mode\n")); + print_term(FALSE, _(" --geometry=WxH+XOFF+YOFF set main window location\n")); + print_term(FALSE, _(" -h, --help show this message\n")); print_term(FALSE, _(" -l, --list [files] [collections] open collection window for command line\n")); - print_term(FALSE, _(" --blank start with blank file list\n")); - print_term(FALSE, _(" --geometry=XxY+XOFF+YOFF set main window location\n")); print_term(FALSE, _(" -n, --new-instance open a new instance of Geeqie\n")); + print_term(FALSE, _(" -o:, --log-file: save log data to file\n")); print_term(FALSE, _(" -r, --remote send following commands to open window\n")); - print_term(FALSE, _(" -rh,--remote-help print remote command list\n")); + print_term(FALSE, _(" -rh, --remote-help print remote command list\n")); + print_term(FALSE, _(" -s, --slideshow start in slideshow mode\n")); + print_term(FALSE, _(" +t, --with-tools force show of tools\n")); + print_term(FALSE, _(" -t, --without-tools force hide of tools\n")); + print_term(FALSE, _(" -v, --version print version info\n")); + print_term(FALSE, _(" +w, --show-log-window show log window\n")); #ifdef DEBUG print_term(FALSE, _(" --debug[=level] turn on debug output\n")); - print_term(FALSE, _(" -g:, --grep: filter debug output\n")); + print_term(FALSE, _(" -g:, --grep: filter debug output\n")); #endif - print_term(FALSE, _(" +w, --show-log-window show log window\n")); - print_term(FALSE, _(" -o:, --log-file: save log data to file\n")); - print_term(FALSE, _(" -v, --version print version info\n")); - print_term(FALSE, _(" -h, --help show this message\n")); - print_term(FALSE, _(" --disable-clutter disable use of Clutter library (i.e. GPU accel.)\n")); - print_term(FALSE, _(" --cache-maintenance run cache maintenance in non-GUI mode\n\n")); #if 0 /* these options are not officially supported! * only for testing new features, no need to translate them */ print_term(FALSE, " --alternate use alternate similarity algorithm\n"); #endif + print_term(FALSE, "\n"); + + remote_help(); exit(0); diff --git a/src/remote.c b/src/remote.c index a10cb6a0..293cddd1 100644 --- a/src/remote.c +++ b/src/remote.c @@ -1396,59 +1396,55 @@ struct _RemoteCommandEntry { static RemoteCommandEntry remote_commands[] = { /* short, long callback, extra, prefer, parameter, description */ - { "-n", "--next", gr_image_next, FALSE, FALSE, NULL, N_("next image") }, { "-b", "--back", gr_image_prev, FALSE, FALSE, NULL, N_("previous image") }, + { NULL, "--close-window", gr_close_window, FALSE, FALSE, NULL, N_("close window") }, + { NULL, "--config-load: ", gr_config_load, TRUE, FALSE, N_("|layout ID"), N_(" load configuration from FILE") }, + { "-cm","--cache-metadata", gr_cache_metadata, FALSE, FALSE, NULL, N_("clean the metadata cache") }, + { "-cr:", "--cache-render:", gr_cache_render, TRUE, FALSE, N_(" "), N_(" render thumbnails") }, + { "-crr:", "--cache-render-recurse:", gr_cache_render_recurse, TRUE, FALSE, N_(" "), N_("render thumbnails recursively") }, + { "-crs:", "--cache-render-shared:", gr_cache_render_standard, TRUE, FALSE, N_(" "), N_(" render thumbnails (see Help)") }, + { "-crsr:", "--cache-render-shared-recurse:", gr_cache_render_standard_recurse, TRUE, FALSE, N_(""), N_(" render thumbnails recursively (see Help)") }, + { "-cs:", "--cache-shared:", gr_cache_shared, TRUE, FALSE, N_("clear|clean"), N_("clear or clean shared thumbnail cache") }, + { "-ct:", "--cache-thumbs:", gr_cache_thumb, TRUE, FALSE, N_("clear|clean"), N_("clear or clean thumbnail cache") }, + { "-d", "--delay=", gr_slideshow_delay, TRUE, FALSE, N_("<[H:][M:][N][.M]>"), N_("set slide show delay to Hrs Mins N.M seconds") }, { NULL, "--first", gr_image_first, FALSE, FALSE, NULL, N_("first image") }, - { NULL, "--last", gr_image_last, FALSE, FALSE, NULL, N_("last image") }, { "-f", "--fullscreen", gr_fullscreen_toggle, FALSE, TRUE, NULL, N_("toggle full screen") }, - { "-fs","--fullscreen-start", gr_fullscreen_start, FALSE, FALSE, NULL, N_("start full screen") }, - { "-fS","--fullscreen-stop", gr_fullscreen_stop, FALSE, FALSE, NULL, N_("stop full screen") }, - { "-s", "--slideshow", gr_slideshow_toggle, FALSE, TRUE, NULL, N_("toggle slide show") }, - { "-ss","--slideshow-start", gr_slideshow_start, FALSE, FALSE, NULL, N_("start slide show") }, - { "-sS","--slideshow-stop", gr_slideshow_stop, FALSE, FALSE, NULL, N_("stop slide show") }, - { NULL, "--slideshow-recurse:", gr_slideshow_start_rec, TRUE, FALSE, N_(""), N_("start recursive slide show in FOLDER") }, - { "-d", "--delay=", gr_slideshow_delay, TRUE, FALSE, N_("<[H:][M:][N][.M]>"), N_("set slide show delay to Hrs Mins N.M seconds") }, - { "+t", "--tools-show", gr_tools_show, FALSE, TRUE, NULL, N_("show tools") }, - { "-t", "--tools-hide", gr_tools_hide, FALSE, TRUE, NULL, N_("hide tools") }, - { "-q", "--quit", gr_quit, FALSE, FALSE, NULL, N_("quit") }, - { NULL, "--config-load:", gr_config_load, TRUE, FALSE, N_("|layout ID"), N_("load configuration from FILE") }, - { NULL, "--get-sidecars:", gr_get_sidecars, TRUE, FALSE, N_(""), N_("get list of sidecars of FILE") }, - { NULL, "--get-destination:", gr_get_destination, TRUE, FALSE, N_(""), N_("get destination path of FILE") }, - { NULL, "file:", gr_file_load, TRUE, FALSE, N_("|"), N_("open FILE or URL, bring Geeqie window to the top") }, { NULL, "--file:", gr_file_load, TRUE, FALSE, N_("|"), N_("open FILE or URL, bring Geeqie window to the top") }, - { NULL, "File:", gr_file_load_no_raise, TRUE, FALSE, N_("|"), N_("open FILE or URL, do not bring Geeqie window to the top") }, { NULL, "--File:", gr_file_load_no_raise, TRUE, FALSE, N_("|"), N_("open FILE or URL, do not bring Geeqie window to the top") }, - { NULL, "--tell", gr_file_tell, FALSE, FALSE, NULL, N_("print filename [and Collection] of current image") }, - { NULL, "--pixel-info", gr_pixel_info, FALSE, FALSE, NULL, N_("print pixel info of mouse pointer on current image") }, - { NULL, "--get-rectangle", gr_rectangle, FALSE, FALSE, NULL, N_("get rectangle co-ordinates") }, - { NULL, "--get-render-intent", gr_render_intent, FALSE, FALSE, NULL, N_("get render intent") }, - { NULL, "--get-filelist:", gr_filelist, TRUE, FALSE, N_("[]"), N_("get list of files and class") }, - { NULL, "--get-filelist-recurse:", gr_filelist_recurse, TRUE, FALSE, N_("[]"), N_("get list of files and class recursive") }, + { "-fs","--fullscreen-start", gr_fullscreen_start, FALSE, FALSE, NULL, N_("start full screen") }, + { "-fS","--fullscreen-stop", gr_fullscreen_stop, FALSE, FALSE, NULL, N_("stop full screen") }, + { NULL, "--geometry=", gr_geometry, TRUE, FALSE, N_(""), N_("set window geometry") }, { NULL, "--get-collection:", gr_collection, TRUE, FALSE, N_(""), N_("get collection content") }, { NULL, "--get-collection-list", gr_collection_list, FALSE, FALSE, NULL, N_("get collection list") }, + { NULL, "--get-destination:", gr_get_destination, TRUE, FALSE, N_(""), N_("get destination path of FILE (See Plugins Configuration)") }, { NULL, "--get-file-info", gr_file_info, FALSE, FALSE, NULL, N_("get file info") }, - { NULL, "view:", gr_file_view, TRUE, FALSE, N_(""), N_("open FILE in new window") }, - { NULL, "--view:", gr_file_view, TRUE, FALSE, N_(""), N_("open FILE in new window") }, - { NULL, "--list-clear", gr_list_clear, FALSE, FALSE, NULL, N_("clear command line collection list") }, - { NULL, "--list-add:", gr_list_add, TRUE, FALSE, N_(""), N_("add FILE to command line collection list") }, - { NULL, "raise", gr_raise, FALSE, FALSE, NULL, N_("bring the Geeqie window to the top") }, - { NULL, "--raise", gr_raise, FALSE, FALSE, NULL, N_("bring the Geeqie window to the top") }, + { NULL, "--get-filelist:", gr_filelist, TRUE, FALSE, N_("[]"), N_("get list of files and class") }, + { NULL, "--get-filelist-recurse:", gr_filelist_recurse, TRUE, FALSE, N_("[]"), N_("get list of files and class recursive") }, + { NULL, "--get-rectangle", gr_rectangle, FALSE, FALSE, NULL, N_("get rectangle co-ordinates") }, + { NULL, "--get-render-intent", gr_render_intent, FALSE, FALSE, NULL, N_("get render intent") }, + { NULL, "--get-sidecars:", gr_get_sidecars, TRUE, FALSE, N_(""), N_("get list of sidecars of FILE") }, { NULL, "--id:", gr_lw_id, TRUE, FALSE, N_(""), N_("window id for following commands") }, - { NULL, "--new-window", gr_new_window, FALSE, FALSE, NULL, N_("new window") }, - { NULL, "--close-window", gr_close_window, FALSE, FALSE, NULL, N_("close window") }, - { NULL, "--geometry=", gr_geometry, TRUE, FALSE, N_(""), N_("set window geometry") }, - { "-ct:", "--cache-thumbs:", gr_cache_thumb, TRUE, FALSE, N_("clear|clean"), N_("clear or clean thumbnail cache") }, - { "-cs:", "--cache-shared:", gr_cache_shared, TRUE, FALSE, N_("clear|clean"), N_("clear or clean shared thumbnail cache") }, - { "-cm","--cache-metadata", gr_cache_metadata, FALSE, FALSE, NULL, N_(" clean the metadata cache") }, - { "-cr:", "--cache-render:", gr_cache_render, TRUE, FALSE, N_(" "), N_(" render thumbnails") }, - { "-crr:", "--cache-render-recurse:", gr_cache_render_recurse, TRUE, FALSE, N_(" "), N_("render thumbnails recursively") }, - { "-crs:", "--cache-render-shared:", gr_cache_render_standard, TRUE, FALSE, N_(" "), N_(" render thumbnails (see Help)") }, - { "-crsr:", "--cache-render-shared-recurse:", gr_cache_render_standard_recurse, TRUE, FALSE, N_(""), N_(" render thumbnails recursively (see Help)") }, + { NULL, "--last", gr_image_last, FALSE, FALSE, NULL, N_("last image") }, + { NULL, "--list-add:", gr_list_add, TRUE, FALSE, N_(""), N_("add FILE to command line collection list") }, + { NULL, "--list-clear", gr_list_clear, FALSE, FALSE, NULL, N_("clear command line collection list") }, #ifdef HAVE_LUA { NULL, "--lua:", gr_lua, TRUE, FALSE, N_(","), N_("run lua script on FILE") }, #endif - { NULL, "--PWD:", gr_pwd, TRUE, FALSE, N_(""), N_("use PWD as working directory for following commands") }, + { NULL, "--new-window", gr_new_window, FALSE, FALSE, NULL, N_("new window") }, + { "-n", "--next", gr_image_next, FALSE, FALSE, NULL, N_("next image") }, + { NULL, "--pixel-info", gr_pixel_info, FALSE, FALSE, NULL, N_("print pixel info of mouse pointer on current image") }, { NULL, "--print0", gr_print0, TRUE, FALSE, NULL, N_("terminate returned data with null character instead of newline") }, + { NULL, "--PWD:", gr_pwd, TRUE, FALSE, N_(""), N_("use PWD as working directory for following commands") }, + { "-q", "--quit", gr_quit, FALSE, FALSE, NULL, N_("quit") }, + { NULL, "--raise", gr_raise, FALSE, FALSE, NULL, N_("bring the Geeqie window to the top") }, + { "-s", "--slideshow", gr_slideshow_toggle, FALSE, TRUE, NULL, N_("toggle slide show") }, + { NULL, "--slideshow-recurse:", gr_slideshow_start_rec, TRUE, FALSE, N_(""), N_("start recursive slide show in FOLDER") }, + { "-ss","--slideshow-start", gr_slideshow_start, FALSE, FALSE, NULL, N_("start slide show") }, + { "-sS","--slideshow-stop", gr_slideshow_stop, FALSE, FALSE, NULL, N_("stop slide show") }, + { NULL, "--tell", gr_file_tell, FALSE, FALSE, NULL, N_("print filename [and Collection] of current image") }, + { "+t", "--tools-show", gr_tools_show, FALSE, TRUE, NULL, N_("show tools") }, + { "-t", "--tools-hide", gr_tools_hide, FALSE, TRUE, NULL, N_("hide tools") }, + { NULL, "--view:", gr_file_view, TRUE, FALSE, N_(""), N_("open FILE in new window") }, { NULL, NULL, NULL, FALSE, FALSE, NULL, NULL } }; @@ -1520,19 +1516,18 @@ void remote_help(void) { if (remote_commands[i].description) { - s_opt_param = g_strconcat(remote_commands[i].opt_s, remote_commands[i].parameter, NULL); + s_opt_param = g_strdup(remote_commands[i].opt_s ? remote_commands[i].opt_s : "" ); l_opt_param = g_strconcat(remote_commands[i].opt_l, remote_commands[i].parameter, NULL); - printf_term(FALSE, " %-11s%-1s %-30s%-s\n", - (remote_commands[i].opt_s) ? s_opt_param : "", - (remote_commands[i].opt_s && remote_commands[i].opt_l) ? "," : " ", - (remote_commands[i].opt_l) ? l_opt_param : "", - _(remote_commands[i].description)); + printf_term(FALSE, " %-4s %-40s%-s\n", + s_opt_param, + l_opt_param, + remote_commands[i].description); g_free(s_opt_param); g_free(l_opt_param); } i++; } - printf_term(FALSE, N_("\n All other command line parameters are used as plain files if they exists.\n")); + printf_term(FALSE, N_("\n\n All other command line parameters are used as plain files if they exist.\n\n The name of a collection, with or without either path or extension (.gqv) may be used.\n")); } GList *remote_build_list(GList *list, gint argc, gchar *argv[], GList **errors) -- 2.20.1