(wrong string) ünnich

From: <git_AT_suckless.org>
Date: Sat, 6 Aug 2016 12:23:17 +0200 (CEST)

commit aabc2bddbdeecdb2651394d90b10a9290a69b527
Author: Bert Münnich <ber.t_AT_posteo.de>
AuthorDate: Sat Aug 6 12:22:47 2016 +0200
Commit: Bert Münnich <ber.t_AT_posteo.de>
CommitDate: Sat Aug 6 12:22:47 2016 +0200

    Provide image width and height to image-info script; fixes issue #159

diff --git a/exec/image-info b/exec/image-info
index a14ee7a..8e1b805 100644
--- a/exec/image-info
+++ b/exec/image-info
_AT_@ -1,16 +1,19 @@
 #!/bin/sh
 
 # Example for $XDG_CONFIG_HOME/sxiv/exec/image-info
-# Called by sxiv(1) whenever an image gets loaded,
-# with the name of the image file as its first argument.
+# Called by sxiv(1) whenever an image gets loaded.
 # The output is displayed in sxiv's status bar.
+# Arguments:
+# $1: path to image file
+# $2: image width
+# $3: image height
 
 s=" | " # field separator
 
 filename=$(basename -- "$1")
 filesize=$(du -Hh -- "$1" | cut -f 1)
 
-geometry=$(identify -format '%wx%h' ":$1[0]")
+geometry="${2}x${3}"
 tags=$(identify -format '%[IPTC:2:25]' ":$1" | tr ';' ',')
 
 echo "${filesize}${s}${geometry}${tags:+$s}${tags}${s}${filename}"
diff --git a/main.c b/main.c
index 00a3ffc..361477e 100644
--- a/main.c
+++ b/main.c
_AT_@ -224,6 +224,7 @@ void open_info(void)
 {
         static pid_t pid;
         int pfd[2];
+ char w[12], h[12];
 
         if (info.f.err != 0 || info.open || win.bar.h == 0)
                 return;
_AT_@ -239,7 +240,9 @@ void open_info(void)
         if ((pid = fork()) == 0) {
                 close(pfd[0]);
                 dup2(pfd[1], 1);
- execl(info.f.cmd, info.f.cmd, files[fileidx].name, NULL);
+ snprintf(w, sizeof(w), "%d", img.w);
+ snprintf(h, sizeof(h), "%d", img.h);
+ execl(info.f.cmd, info.f.cmd, files[fileidx].name, w, h, NULL);
                 error(EXIT_FAILURE, errno, "exec: %s", info.f.cmd);
         }
         close(pfd[1]);
diff --git a/sxiv.1 b/sxiv.1
index 51ba9f2..0e1485b 100644
--- a/sxiv.1
+++ b/sxiv.1
_AT_@ -366,7 +366,8 @@ The information displayed on the left side of the status bar can be replaced
 with the output of a user-provided script, which is called by sxiv whenever an
 image gets loaded. The path of this script is
 .I $XDG_CONFIG_HOME/sxiv/exec/image-info
-and the first argument to this script is the path of the loaded image.
+and the arguments given to it are: 1) path to image file, 2) image width,
+3) image height.
 .P
 There is also an example script installed together with sxiv as
 .IR PREFIX/share/sxiv/exec/image-info .
Received on Sat Aug 06 2016 - 12:23:17 CEST

This archive was generated by hypermail 2.3.0 : Sat Aug 06 2016 - 12:24:15 CEST