Se eu clicar em uma imagem no gerenciador de arquivos, ele abrirá apenas a imagem clicada. Eu realmente gostaria de ver o recurso para carregar todas as fotos na mesma pasta para que eu pudesse navegar pelas fotos.
sxiv é projetado para usuários de linha de comando. Por favor, use um script de wrapper para isso. Google sxiv-rifle
ou use o seguinte:
#!/bin/sh
if [ $# -ne 1 -o ! -f "$1" ]; then
echo "usage: ${0##*/} FILE" >&2
exit 1
fi
file -i "$(dirname "$1")"/* \
| awk -F ': *' -v f="$1" '
$2 ~ "^image" {
files[cnt++] = $1;
if ($1 == f)
n = cnt;
}
END {
for (i = 0; i < cnt; i++)
print files[i] | "sxiv -i -n " n;
}'
Seria bom se -n
option também pudesse receber "nome do arquivo" em vez de apenas "número do índice", como abrir um gerenciador de arquivos com um arquivo específico selecionado. Com isso, você pode usar algo como sxiv -n x.png *.png
diff --git a/options.c b/options.c
index de02407..b9ca468 100644
--- a/options.c
+++ b/options.c
@@ -45,6 +45,7 @@ void parse_options(int argc, char **argv)
int n, opt;
char *end, *s;
const char *scalemodes = "dfwh";
+ char *opt_n = NULL; /* -n (starting picture number) can be index or filename */
progname = strrchr(argv[0], '/');
progname = progname ? progname + 1 : argv[0];
@@ -117,10 +118,7 @@ void parse_options(int argc, char **argv)
_options.from_stdin = true;
break;
case 'n':
- n = strtol(optarg, &end, 0);
- if (*end != '\0' || n <= 0)
- error(EXIT_FAILURE, 0, "Invalid argument for option -n: %s", optarg);
- _options.startnum = n - 1;
+ opt_n = optarg;
break;
case 'N':
_options.res_name = optarg;
@@ -172,6 +170,21 @@ void parse_options(int argc, char **argv)
_options.filenames = argv + optind;
_options.filecnt = argc - optind;
+ if (opt_n != NULL) {
+ for (n = 0; n < _options.filecnt; n++) {
+ if (strcmp(_options.filenames[n], opt_n) == 0)
+ break;
+ }
+ if (n < _options.filecnt) {
+ _options.startnum = n;
+ } else {
+ n = strtol(opt_n, &end, 0);
+ if (*end != '\0' || n <= 0)
+ error(EXIT_FAILURE, 0, "Invalid argument for option -n: %s", optarg);
+ _options.startnum = n - 1;
+ }
+ }
+
if (_options.filecnt == 1 && STREQ(_options.filenames[0], "-")) {
_options.filenames++;
_options.filecnt--;
EDIT: Acabei de notar que já existe uma solicitação de pull (https://github.com/muennich/sxiv/pull/371).
Minha solução alternativa para isso:
https://github.com/Parveshdhull/misc/tree/master/linux
Comentários muito úteis
Minha solução alternativa para isso:
https://github.com/Parveshdhull/misc/tree/master/linux