set env var NSXIV_USING_NULL for key-handler and update docs

Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
This commit is contained in:
NRK 2021-11-19 16:08:39 +06:00 committed by N-R-K
parent 2df33208d7
commit 43fcd2e02e
3 changed files with 19 additions and 8 deletions

View file

@ -3,10 +3,14 @@
# Example for $XDG_CONFIG_HOME/nsxiv/exec/key-handler
# Called by nsxiv(1) after the external prefix key (C-x by default) is pressed.
# The next key combo is passed as its first argument. Passed via stdin are the
# images to act upon, one path per line: all marked images, if in thumbnail
# mode and at least one image has been marked, otherwise the current image.
# nsxiv(1) blocks until this script terminates. It then checks which images
# have been modified and reloads them.
# images to act upon: all marked images, if in thumbnail mode and at least one
# image has been marked, otherwise the current image. nsxiv(1) will block until
# the handler terminates. It then checks which images have been modified and
# reloads them.
# By default nsxiv(1) will send one image per-line to stdin, however when using
# -0 the image list will be NULL separated and the enviornment variable
# "$NSXIV_USING_NULL" will be set to 1.
# The key combo argument has the following form: "[C-][M-][S-]KEY",
# where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X

1
main.c
View file

@ -549,6 +549,7 @@ void run_key_handler(const char *key, unsigned int mask)
mask & ControlMask ? "C-" : "",
mask & Mod1Mask ? "M-" : "",
mask & ShiftMask ? "S-" : "", key);
setenv("NSXIV_USING_NULL", options->using_null ? "1" : "0", 1);
if ((pid = fork()) == 0) {
close(pfd[1]);

14
nsxiv.1
View file

@ -439,14 +439,20 @@ located in
The handler is invoked by pressing
.BR Ctrl-x .
The next key combo is passed as its first argument. Passed via stdin are the
images to act upon, one path per line: all marked images, if in thumbnail mode
and at least one image has been marked, otherwise the current image.
nsxiv(1) will block until the handler terminates. It then checks which images
have been modified and reloads them.
images to act upon: all marked images, if in thumbnail mode and at least one
image has been marked, otherwise the current image. nsxiv(1) will block until
the handler terminates. It then checks which images have been modified and
reloads them.
By default nsxiv(1) will send one image per-line to stdin, however when using
\-0 the image list will be NULL separated and the enviornment variable
"$NSXIV_USING_NULL" will be set to 1.
The key combo argument has the following form: "[C-][M-][S-]KEY",
where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X
keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix.
If KEY has an uppercase equivalent, S-KEY is resolved into it. For instance,
K replaces S-k and Scedilla replaces S-scedilla, but S-Delete is sent as-is.
There is also an example script installed together with nsxiv as
.IR EGPREFIX/key-handler .