Usando o browser como visualizador de imagens

Publicado por Enzo de Brito Ferber em 28/11/2016

[ Hits: 3.670 ]

Blog: http://www.maximasonorizacao.com.br

 


Usando o browser como visualizador de imagens



Tenho uma pasta no HD com muitas imagens. Muitas mesmo. O problema é que até hoje não achei nenhum visualizador bom e minimalista minimamente mínimo, do tipo que exibe um quadrado do lado do outro, sem margens, sem 200 opções, sem... sem fru-fru. O objetivo desta dica é transformar seu navegador Firefox em um visualizador desses. Vai ser assim:

1. O código:

#!/bin/sh
# ~/bin/vimg
#
#         (C) 2016 - Enzo Ferber, <enzoferber@gmail.com
#

# defaults
file=/tmp/imgvis.html

# muito importante que esta variavel 'path' seja minuscula
# PATH e reservada ao bash
path=$HOME/img

# dimensao=381
# em um monitor 1920x1080 o viewport no firefox tem 1907px. Divindo
# 1907/5 = 381.4
#
# Para descobrir o tamanho do ViewPort do Firefox, abra uma pagina e aperte F12
# va ao console JavaScript e digite:
# document.documentElement.clientWidth
#
d=381

# se existir um primeiro argumento, ele e o diretorio que vamos listar
[ ! -z $1 ] && path=`realpath ${1}`

# se existir um segundo argumento, ele e o numero de imagens por linha
# 1907 e o tamanho do viewport no navegador
[ ! -z $2 ] && d=`expr 1907 / ${2}`

# redireciona stdout para $file
exec > $file

# programador HTML
echo "<html><body><div style='position:absolute;top:0;left:0;width:100%;height:100%'>"

# engenheiro CSS
find ${path} -type f -exec  echo "<a href='{}'><img style='display:block;width:${d}px;height:${d}px;position:relative;float:left;' src='{}' /></a>" \;

echo '</div></body></html>';

/usr/bin/firefox $file

Pra executar de qualquer lugar, coloca esse script na pasta ~/bin.

mkdir ~/bin

Pra fazer o bash procurar por arquivos na ~/bin:

echo "PATH=~/bin:$PATH" >> ~/.bashrc

Tornar vimg executável:

chmod +x ~/bin/vimg

Se não estiver lendo o .bashrc quando você abre o bash:

sudo echo "[ -e ~/.bashrc ] && source ~/.bashrc" >> /etc/profile

2. Digitar no terminal:

vimg <diretorio> [imagens_por_linha]
3. O Firefox abrirá com uma tela parecida com essa (AVISO, a semelhança depende das imagens no seu diretório):
4. Clicando em uma imagem:
É isso aí, visualizador de imagens minimalista sem fru-fru.

Melhor que isso só fazendo um combo com o VIMperator...

[]'s

Outras dicas deste autor

Customizando o BASH

Lendo arquivos do Word no Linux (modo texto)

Saiba a última versão estável do kernel na inicialização do Linux

Erro 2002 (HY000) ao conectar ao MySQL

Capturar tela do X-Server remotamente

Leitura recomendada

Web Rádios

Estilos de Bash Prompts

Zabbix Server no CentOS 8

Reiniciando o KDE 5 Plasma sem reiniciar o computador

Visualizar imagens noGwenwiew (separado do konqueror)

  

Comentários
[1] Comentário enviado por uNclear em 01/12/2016 - 11:47h

Muio interessante, será que tem como fazer no chrome?

[2] Comentário enviado por EnzoFerber em 01/12/2016 - 11:54h

Olá, tem sim.

A página de visualização criada e HTML puro com um pouco de CSS básico. No final do script você invoca o chromium ao Invés do Firefox.

Enzo Ferber
[]'s

[3] Comentário enviado por ZAIAS em 02/12/2016 - 20:50h

Camarada, quando executo o vimg diretório/valor ele ate abre uma nova aba no firefox porem ele não mostra as imagens do diretório e no terminal retorna o seguinte

realpath: not found
você poderia me ajudar ?

[4] Comentário enviado por EnzoFerber em 05/12/2016 - 08:18h

@ZAIAS,

Tente o seguinte:

$ which realpath
/usr/bin/realpath

$ file /usr/bin/realpath
/usr/bin/realpath: symbolic link to ../../bin/realpath

$ file /bin/realpath
/bin/realpath: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, stripped

E no script, muda a seguinte linha:
[ ! -z $1 ] && path=`realpath ${1}`

para

[ ! -z $1 ] && path=`/bin/realpath ${1}`

Ou para o caminho que encontrar no seu sistema de arquivos.
Tenta aí e vê se resolve, qualquer coisa posta denovo.


Enzo Ferber
[]'s

[5] Comentário enviado por ZAIAS em 05/12/2016 - 12:45h

@Enzo Ferber
Obrigado mestre, eu simplesmente não tinha a realpath :

$ sudo apt-get instal realpath





Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts