Usando o browser como visualizador de imagens

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

[ Hits: 3.667 ]

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

Lendo arquivos do Word no Linux (modo texto)

Customizando o BASH

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

Capturar tela do X-Server remotamente

Erro 2002 (HY000) ao conectar ao MySQL

Leitura recomendada

Remover Beagle do login, mas não do sistema

Adicionando esquemas de cores ao Geany

Adobe Flash Player no Fedora 18

Wikipedia no N800 - Para consultas offline

Code Highlight

  

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