openbox

Como fazer troca de papel de parede aleatória e automática no Openbox

O Openbox é uma das opções de gerenciador de janelas mais leves, rápidas e flexíveis na sua configuração.
É muito rápido, se usado dentro de ambientes desktop, como o GNOME ou o KDE. Alguns o usam dentro do ambiente criado pelo XFCE.
openbox logo
Mas é dentro do LXDE (padrão no Lubuntu) é que se pode obter o melhor equilíbrio entre recursos de software disponíveis e a velocidade do Openbox.
Neste texto, vou mostrar como configurar o papel de parede do sistema, usando o aplicativo feh e como incluí-lo em um pequeno script, para alterar automaticamente e aleatoriamente os papéis de parede do ambiente.
O post se baseia em uma instalação Lubuntu 16.04 LTS Xenial Xerus padrão. Nesta situação, a quantidade de papéis de parede pode ser muito limitada, como é possível observar, nos diretórios padrão de wallpapers:

ls /usr/share/lxde/wallpapers/
lxde_blue.jpg  lxde_green.jpg  lxde_red.jpg
_

ou…

ls /usr/share/lubuntu/wallpapers/
1604-lubuntu-default-wallpaper.png  lubuntu-default-wallpaper.png
lubuntu-default-wallpaper.jpg

Nos exemplos deste texto, os papéis de parede estão localizados em ‘~/Imagens/wallpapers’ e foram baixados deste perfil no deviantart.

Use o feh para trocar o papel de parede no Openbox

O Openbox, por si, não tem a capacidade de trocar o papel de parede.
Para isto, as pessoas usam aplicativos a parte.
Neste artigo, vou mostrar o uso do feh. Mas, você pode encontrar outros ótimos aplicativos para realizar esta tarefa na central de programas ou através do apt:

apt search wallpaper

O comando, acima, vai mostrar também alguns pacotes de papéis de parede que podem ser baixados para a sua distro.
Para instalar o feh, no Ubuntu ou no Debian, use o apt:

sudo apt install feh

O feh pode ser utilizado apenas como visualizador de imagens — e, como a maioria dos programas desta categoria, permite alterar o plano de fundo do X, entre outras coisas.

feh Imagens/wallpapers/talaxy_by_lucaciavatta-d9ezfor.png 

Clique no meio da imagem escolhida, com o botão direito do mouse ou touchpad e selecione File -> Background -> Set Tiled, Set Scaled, Set Centered ou Set Filled.
feh visualizador de imagens e troca de papel de parede
Você pode fazer a mudança do papel de parede direto na linha de comando com uma das opções seguintes:

  • --bg-center para centralizar a imagem de fundo.
  • --bg-fill para preencher todo o fundo da tela com a imagem, mantendo sua proporção.
  • --bg-max faz o mesmo que o –bg-fill, mas adiciona bordas negras ao redor da imagem, quando não for possível manter a proporção.
  • --bg-scale para preencher completamente a tela, mesmo com sacrifício da proporção.
  • --bg-tile repete a imagem até preencher o fundo da tela. Indicado para imagens pequenas.

Veja um exemplo:

feh --bg-scale Imagens/wallpapers/magnaplaza_by_lucaciavatta-d9dabv7.jpg
_

Em um exemplo de configuração de 2 monitores, é possível distribuir a imagem pelas telas. Veja como fazer:

feh --bg-scale --no-xinerama Imagens/wallpapers/seateal_by_lucaciavatta-d9cyc64.jpg 

Na imagem, abaixo, exemplo de configuração física com 2 monitores (um em cima, outro embaixo).
feh background no xinerama

Como tornar a imagem de fundo persistente após reiniciar o sistema

Para manter a imagem de fundo persistente através do boot/reboot do sistema, é necessário adicioná-lo a um arquivo de configuração.
A solução, que segue, faz uso do autostart do Openbox. Se você não tiver intimidade com este recurso, leia este texto.
O feh, costuma manter em seu arquivo de configuração a última opção feita.
Você pode ver isto aqui:

cat ~/.fehbg 
#!/bin/sh
feh --no-xinerama --bg-scale '/home/justincase/Imagens/wallpapers/seateal_by_lucaciavatta-d9cyc64.jpg'

Como se vê, trata-se de um pequeno arquivo de script, que pode ser executável. Para isto é necessário dar-lhe as permissões adequadas:

chmod +x ~/.fehbg

Agora, adicione o ~/.fehbg ao final do arquivo ‘autostart’:

echo "~/.fehbg" >> ~/.config/openbox/autostart

Como fazer com que o feh selecione imagens aleatórias para papel de parede

Crie um script com o seguinte conteúdo:

#! /usr/bin/env sh
 WALLPAPERS="/home/justincase/Imagens/wallpapers/"

 desktop_bg=$(find "$WALLPAPERS" -type f | shuf | head -n 1) &&
 exec feh --bg-scale "$desktop_bg"

Eu nomeei o meu script como wallpaper.sh e o guardei em ~/bin.
Tome o cuidado de editar o seu script e dar à variável WALLPAPERS o endereço correto do diretório onde você guarda as suas imagens favoritas para o fundo da tela.
Verifique se o script está funcionando, executando-o algumas vezes.
Se tudo estiver ok, adicione-o ao autostart, no lugar do ‘.fehbg’.

Referência

https://wiki.debian.org/Openbox#Wallpapers.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *